| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | // Include this file ONLY when current.path[2] is defined | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | - var base = '/docs/' + current.path[1] + '/' + current.path[2] + '/'; | 
					
						
							|  |  |  | - var dir = current.path[4] ? current.path[3] + '/' : ''; | 
					
						
							|  |  |  | - var cur = current.path[4] || current.path[3]; | 
					
						
							|  |  |  | - cur = cur === 'index' ? '' : cur + '.html'; | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  | - cur = base + dir + cur; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | - var sections = function(dir, selector) { | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -    var secondaryPath = public.docs[current.path[1]][current.path[2]] | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -    var data = dir ? secondaryPath[dir] && secondaryPath[dir]._data : secondaryPath._data; | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -    if (!data) return []; | 
					
						
							| 
									
										
										
										
											2016-02-05 23:27:06 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -    var section = []; | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -    var selector = selector || function() { return true; }; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -    var prefix = base + (dir ? dir + '/' : ''); | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -    for (prop in data) { | 
					
						
							|  |  |  | -      var item = data[prop]; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -      item.slug = prop; | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -      if (prop[0] !== '_' && !item.hide && selector(item)) { | 
					
						
							| 
									
										
										
										
											2016-03-08 08:45:44 -08:00
										 |  |  | -        var file = pro | 
					
						
							|  |  |  | -        var ext = prop.lastIndexOf('/') === prop.length-1 ? '' : '.html'; | 
					
						
							|  |  |  | -        var file = prop === 'index' ? '' : prop + ext; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -        var href = prefix + file; | 
					
						
							|  |  |  | -        item.class = cur === href ? 'is-selected' : ''; | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -        item.file = file; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -        item.href = href; | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -        item.navTitle = item.navTitle || item.title; | 
					
						
							| 
									
										
										
										
											2016-03-08 08:45:44 -08:00
										 |  |  | -        item.tooltip = item.description || item.intro || item.title || ''; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -        section.push(item); | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -      } | 
					
						
							|  |  |  | -    } | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | -    return section; | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | -  } | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | - var tutorial = sections('tutorial'); | 
					
						
							|  |  |  | - var cookbook = sections('cookbook'); | 
					
						
							|  |  |  | - var basics = sections('guide', function(item) { return item.basics; }); | 
					
						
							|  |  |  | - var guide  = sections('guide', function(item) { return !item.basics; }); | 
					
						
							|  |  |  | - var qs = sections('', function(item) { return item.slug === 'quickstart'; })[0] || {}; | 
					
						
							|  |  |  | - var reference  = sections('', function(item) { return item.reference; }); | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  | - var anyItemSelected = function(items) { | 
					
						
							|  |  |  | -   var selectedCount = items.filter(function(item) { return !!item.class; }).length; | 
					
						
							|  |  |  | -   return selectedCount > 0 ? 'is-nav-title-selected' : ''; | 
					
						
							|  |  |  | - } | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  | - var isQuickstartSelected = function() { | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  | -   var splitted = cur.split('/'); | 
					
						
							|  |  |  | -   var bit = splitted[splitted.length - 1].replace('.html', ''); | 
					
						
							|  |  |  | -   return bit === 'quickstart' ? 'is-nav-title-selected' : ''; | 
					
						
							|  |  |  | -} | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  | - var isApiReferenceSelected = function() { | 
					
						
							|  |  |  | -   var splitted = cur.split('/'); | 
					
						
							|  |  |  | -   var bit = splitted[splitted.length - 2]; | 
					
						
							|  |  |  | -   return bit === 'api' ? 'is-nav-title-selected' : ''; | 
					
						
							|  |  |  | -} | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  | - var isCollapsed = function(titleStyle) { | 
					
						
							|  |  |  | -   return titleStyle === 'is-nav-title-selected' ? '' : 'is-hidden'; | 
					
						
							|  |  |  | - } | 
					
						
							| 
									
										
										
										
											2016-02-05 23:27:06 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | nav.side-nav.l-pinned-left.l-layer-4.l-offset-nav | 
					
						
							| 
									
										
										
										
											2016-02-05 23:27:06 -08:00
										 |  |  |   // SEARCH BAR | 
					
						
							|  |  |  |   header.side-nav-search.st-input-wrapper | 
					
						
							|  |  |  |     form.st-input-inner | 
					
						
							|  |  |  |       label(for="search-io" class="is-hidden") Search Docs | 
					
						
							|  |  |  |       input(type="search" id="search-io" placeholder="SEARCH DOCS...") | 
					
						
							|  |  |  |     button(class="mobile-trigger button" aria-label="View Docs Menu" ng-click="appCtrl.toggleDocsMenu($event)" md-button) Docs <span class="icon icon-arrow-drop-down"></span> | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-05 23:27:06 -08:00
										 |  |  |   div(class="side-nav-secondary" ng-class="appCtrl.showDocsNav ? 'is-visible' : ''") | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  |     .nav-blocks | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  |       a(class="nav-title #{isQuickstartSelected(cur)}" href="#{qs.href}" title="#{qs.tooltip}") Quickstart | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     .nav-blocks | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  |       a(class="nav-title #{anyItemSelected(tutorial)}" href="#{tutorial[0].href}" title="#{tutorial[0].tooltip}") Tutorial | 
					
						
							|  |  |  |         img(class="inline-arrow-down-svg" src="/resources/images/icons/ic_keyboard_arrow_down_black_24px.svg") | 
					
						
							|  |  |  |       .nav-ordered-lists(class="#{isCollapsed(anyItemSelected(tutorial))}") | 
					
						
							|  |  |  |         ul | 
					
						
							|  |  |  |           each item, index in tutorial | 
					
						
							|  |  |  |             li(class="nav-list-item #{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{index + 1}. #{item.navTitle} | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     .nav-blocks | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  |       a(class="nav-title #{anyItemSelected(basics)}" href="#{basics[0].href}" title="#{basics[0].tooltip}") Basics | 
					
						
							|  |  |  |         img(class="inline-arrow-down-svg" src="/resources/images/icons/ic_keyboard_arrow_down_black_24px.svg") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .nav-ordered-lists(class="#{isCollapsed(anyItemSelected(basics))}") | 
					
						
							|  |  |  |         ul | 
					
						
							|  |  |  |           each item, index in basics | 
					
						
							|  |  |  |             li(class="nav-list-item #{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{index + 1}. #{item.navTitle} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     .nav-blocks | 
					
						
							|  |  |  |       a(class="nav-title #{anyItemSelected(guide)}" href="#{guide[0].href}" title="#{guide[0].tooltip}") Developer Guide | 
					
						
							|  |  |  |         img(class="inline-arrow-down-svg" src="/resources/images/icons/ic_keyboard_arrow_down_black_24px.svg") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .nav-unordered-lists(class="#{isCollapsed(anyItemSelected(guide))}") | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  |         ul | 
					
						
							|  |  |  |           each item in guide | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  |             li(class="nav-list-item #{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle} | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     .nav-blocks | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  |       a(class="nav-title #{anyItemSelected(cookbook)}" href="#{cookbook[0].href}" title="#{cookbook[0].tooltip}") Cookbook | 
					
						
							|  |  |  |         img(class="inline-arrow-down-svg" src="/resources/images/icons/ic_keyboard_arrow_down_black_24px.svg") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       .nav-unordered-lists(class="#{isCollapsed(anyItemSelected(cookbook))}") | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  |         ul | 
					
						
							|  |  |  |           each item in cookbook | 
					
						
							| 
									
										
										
										
											2016-04-21 14:29:39 -04:00
										 |  |  |             li(class="nav-list-item #{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle} | 
					
						
							| 
									
										
										
										
											2016-03-04 17:56:41 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     .nav-blocks | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  |       a(class="nav-title #{isApiReferenceSelected()}" href="#{reference[0].href}" title="#{reference[0].tooltip}") API Reference | 
					
						
							| 
									
										
										
										
											2016-02-05 23:27:06 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | script. | 
					
						
							|  |  |  |   // Could put in appCtrl but only needed here and clear here | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  |   (function scrollToSelectedLink() { | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  |     var sideNav = document.getElementsByClassName('side-nav')[0]; | 
					
						
							| 
									
										
										
										
											2016-03-04 23:31:29 -08:00
										 |  |  |     var link = sideNav.getElementsByClassName('is-selected')[0]; | 
					
						
							|  |  |  |     if(link && link.offsetTop > window.innerHeight){ | 
					
						
							|  |  |  |       sideNav.scrollTop = link.offsetTop - (window.innerHeight/2); | 
					
						
							| 
									
										
										
										
											2016-04-25 14:22:24 -04:00
										 |  |  |       //alert("offsetTop: " + link.offsetTop + " side-nav top is " + sideNav.scrollTop); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   })() |