| Index: sdk/lib/_internal/dartdoc/lib/src/client/client-live-nav.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/dartdoc/lib/src/client/client-live-nav.dart (revision 32349)
|
| +++ sdk/lib/_internal/dartdoc/lib/src/client/client-live-nav.dart (working copy)
|
| @@ -1,97 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -/** Provides client-side behavior for generated docs. */
|
| -library client;
|
| -
|
| -import 'dart:html';
|
| -import 'dart:convert';
|
| -// TODO(rnystrom): Use "package:" URL (#4968).
|
| -import '../../classify.dart';
|
| -import '../../markdown.dart' as md;
|
| -import '../dartdoc/nav.dart';
|
| -import 'dropdown.dart';
|
| -import 'search.dart';
|
| -import 'client-shared.dart';
|
| -
|
| -main() {
|
| - setup();
|
| -
|
| - // Request the navigation data so we can build the HTML for it.
|
| - HttpRequest.getString('${prefix}nav.json').then((text) {
|
| - var json = JSON.decode(text);
|
| - buildNavigation(json);
|
| - setupSearch(json);
|
| - });
|
| -}
|
| -
|
| -
|
| -/**
|
| - * Takes [libraries], a JSON array representing a set of libraries and builds
|
| - * the appropriate navigation DOM for it relative to the current library and
|
| - * type.
|
| - */
|
| -buildNavigation(List libraries) {
|
| - final html = new StringBuffer();
|
| - for (Map libraryInfo in libraries) {
|
| - String libraryName = libraryInfo[NAME];
|
| - html.write('<h2><div class="icon-library"></div>');
|
| - if (currentLibrary == libraryName && currentType == null) {
|
| - html.write('<strong>${md.escapeHtml(libraryName)}</strong>');
|
| - } else {
|
| - final url = getLibraryUrl(libraryName);
|
| - html.write('<a href="$url">${md.escapeHtml(libraryName)}</a>');
|
| - }
|
| - html.write('</h2>');
|
| -
|
| - // Only list the types for the current library.
|
| - if (currentLibrary == libraryName && libraryInfo.containsKey(TYPES)) {
|
| - buildLibraryNavigation(html, libraryInfo);
|
| - }
|
| - }
|
| -
|
| - // Insert it into the DOM.
|
| - final navElement = document.query('.nav');
|
| - navElement.innerHtml = html.toString();
|
| -}
|
| -
|
| -/** Writes the navigation for the types contained by [library] to [html]. */
|
| -buildLibraryNavigation(StringBuffer html, Map libraryInfo) {
|
| - // Show the exception types separately.
|
| - final types = [];
|
| - final exceptions = [];
|
| -
|
| - for (Map typeInfo in libraryInfo[TYPES]) {
|
| - var name = typeInfo[NAME];
|
| - if (name.endsWith('Exception') || name.endsWith('Error')) {
|
| - exceptions.add(typeInfo);
|
| - } else {
|
| - types.add(typeInfo);
|
| - }
|
| - }
|
| -
|
| - if (types.length == 0 && exceptions.length == 0) return;
|
| -
|
| - writeType(String icon, Map typeInfo) {
|
| - html.write('<li>');
|
| - if (currentType == typeInfo[NAME]) {
|
| - html.write(
|
| - '<div class="icon-$icon"></div><strong>${getTypeName(typeInfo)}</strong>');
|
| - } else {
|
| - html.write(
|
| - '''
|
| - <a href="${getTypeUrl(currentLibrary, typeInfo)}">
|
| - <div class="icon-$icon"></div>${getTypeName(typeInfo)}
|
| - </a>
|
| - ''');
|
| - }
|
| - html.write('</li>');
|
| - }
|
| -
|
| - html.write('<ul class="icon">');
|
| - types.forEach((typeInfo) =>
|
| - writeType(kindToString(typeInfo[KIND]), typeInfo));
|
| - exceptions.forEach((typeInfo) => writeType('exception', typeInfo));
|
| - html.write('</ul>');
|
| -}
|
|
|