Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(964)

Unified Diff: utils/dartdoc/client-live-nav.dart

Issue 9555013: Get dartdoc in the SDK and working correctly. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update copyright date. Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: utils/dartdoc/client-live-nav.dart
diff --git a/utils/dartdoc/client-live-nav.dart b/utils/dartdoc/client-live-nav.dart
deleted file mode 100644
index 6395d426d0568e79f4a605f759e784fcebe4884f..0000000000000000000000000000000000000000
--- a/utils/dartdoc/client-live-nav.dart
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright (c) 2011, 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-live-nav');
-
-#import('dart:html');
-#import('dart:json');
-#import('../../frog/lang.dart', prefix: 'frog');
-#import('classify.dart');
-#import('markdown.dart', prefix: 'md');
-
-#source('client-shared.dart');
-
-// The names of the library and type that this page documents.
-String currentLibrary = null;
-String currentType = null;
-
-// What we need to prefix relative URLs with to get them to work.
-String prefix = '';
-
-main() {
- window.on.contentLoaded.add((e) {
- // Figure out where we are.
- final body = document.query('body');
- currentLibrary = body.dataAttributes['library'];
- currentType = body.dataAttributes['type'];
- prefix = (currentType != null) ? '../' : '';
-
- enableCodeBlocks();
-
- // Request the navigation data so we can build the HTML for it.
- new XMLHttpRequest.getTEMPNAME('${prefix}nav.json', (request) {
- buildNavigation(JSON.parse(request.responseText));
- });
- });
-}
-
-/** Turns [name] into something that's safe to use as a file name. */
-String sanitize(String name) => name.replaceAll(':', '_').replaceAll('/', '_');
-
-/**
- * Takes [libraries], a JSON object representing a set of libraries and builds
- * the appropriate navigation DOM for it relative to the current library and
- * type.
- */
-buildNavigation(libraries) {
- final libraryNames = libraries.getKeys();
- libraryNames.sort((a, b) => a.compareTo(b));
-
- final html = new StringBuffer();
- for (final libraryName in libraryNames) {
- html.add('<h2><div class="icon-library"></div>');
- if (currentLibrary == libraryName && currentType == null) {
- html.add('<strong>${md.escapeHtml(libraryName)}</strong>');
- } else {
- final url = '$prefix${sanitize(libraryName)}.html';
- html.add('<a href="$url">${md.escapeHtml(libraryName)}</a>');
- }
- html.add('</h2>');
-
- // Only list the types for the current library.
- if (currentLibrary == libraryName) {
- buildLibraryNavigation(html, libraries[libraryName]);
- }
- }
-
- // 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, library) {
- // Show the exception types separately.
- final types = [];
- final exceptions = [];
-
- for (final type in library) {
- if (type['name'].endsWith('Exception')) {
- exceptions.add(type);
- } else {
- types.add(type);
- }
- }
-
- if (types.length == 0 && exceptions.length == 0) return;
-
- writeType(String icon, type) {
- html.add('<li>');
- if (currentType == type['name']) {
- html.add(
- '<div class="icon-$icon"></div><strong>${type["name"]}</strong>');
- } else {
- html.add(
- '''
- <a href="$prefix${type["url"]}">
- <div class="icon-$icon"></div>${type["name"]}
- </a>
- ''');
- }
- html.add('</li>');
- }
-
- html.add('<ul class="icon">');
- types.forEach((type) => writeType(type['kind'], type));
- exceptions.forEach((type) => writeType('exception', type));
- html.add('</ul>');
-}

Powered by Google App Engine
This is Rietveld 408576698