UNPKG

arrow-admin

Version:
82 lines (68 loc) 2.4 kB
/* global APIDocOnly */ define(['jquery','index','docs','config','logs','build','cms','unauthorized'], function($, Index, Docs, Config, Logs, Build, CMS, Unauthorized) { var menus = { 'index.html': { title: 'Arrow', action: Index }, 'docs.html': { title: 'API Docs', action: Docs }, 'config.html': { title: 'Configurations', action: Config }, 'build.html': { title: 'Build', action: Build }, 'cms.html': { title: 'Data', action: CMS }, 'logs.html': { title: 'Logs', action: Logs }, 'unauthorized.html': { title: 'Unauthorized', action: Unauthorized, hidden: true } }, paths = window.location.pathname.split('/'), pathname = paths[paths.length-1], buildEnabled = window.location.search && window.location.search.indexOf('build=1') > 0, apidocOnly = typeof(APIDocOnly)==='undefined' ? false : APIDocOnly; if (!apidocOnly && (!CONFIG.authenticated || $('body').hasClass('body-unauthorized')) && pathname!=='unauthorized.html') { window.location.href = 'unauthorized.html'; return; } if (apidocOnly) { pathname = 'docs.html'; } if (CONFIG.enableDataEditor===false) { delete menus['cms.html']; } if (CONFIG.authenticated) { window.Appc.afterHeaderRender(function () { var idx = 0; for (var k in menus) { var menu = menus[k], cls = pathname===k ? 'active' : '', name = k.replace('.html',''); if (menu.hidden) { continue; } // check and see if our menu is enabled if (CONFIG && CONFIG.menus && CONFIG.menus.length && CONFIG.menus.indexOf(name)===-1) { continue; } var link = document.createElement('a'); link.innerHTML = menus[k].title; link.href = k; link.className = link.className + " " + cls; link.id = 'appc-unified-header-nav-menu-'+name; document.querySelector('#appc-unified-header-nav > div:first-child').appendChild(link); if (++idx === 1) { $(link).css({'width':'114px','text-align':'center'}); } } }); } var showBranding = !apidocOnly; if (CONFIG && CONFIG.menus && CONFIG.menus.length===1 && CONFIG.menus[0]==='docs') { // force to docs pathname = 'docs.html'; showBranding = false; } if (showBranding) { $('body').removeClass('nobranding'); } var menu = menus[pathname]; if (window.location.search) { menu && menu.action(window.location.search.substr(1)); } else { menu && menu.action && menu.action(); } });