| Index: sdk/lib/_internal/dartdoc/lib/src/client/client-shared.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/dartdoc/lib/src/client/client-shared.dart (revision 32349)
|
| +++ sdk/lib/_internal/dartdoc/lib/src/client/client-shared.dart (working copy)
|
| @@ -1,114 +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.
|
| -
|
| -library client_shared;
|
| -
|
| -import 'dart:html';
|
| -import 'dropdown.dart';
|
| -import '../../classify.dart';
|
| -import '../dartdoc/nav.dart';
|
| -
|
| -
|
| -// Code shared between the different client-side libraries.
|
| -
|
| -// 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 = '';
|
| -
|
| -void setup() {
|
| - setupLocation();
|
| - setupShortcuts();
|
| - enableCodeBlocks();
|
| - enableShowHideInherited();
|
| -}
|
| -
|
| -void setupLocation() {
|
| - // Figure out where we are.
|
| - final body = document.query('body');
|
| - currentLibrary = body.dataset['library'];
|
| - currentType = body.dataset['type'];
|
| - prefix = (currentType != null) ? '../' : '';
|
| -}
|
| -
|
| -/**
|
| - * Finds all code blocks and makes them toggleable. Syntax highlights each
|
| - * code block the first time it's shown.
|
| - */
|
| -enableCodeBlocks() {
|
| - for (var elem in document.queryAll('.method, .field')) {
|
| - var showCode = elem.query('.show-code');
|
| -
|
| - // Skip it if we don't have a code link. Will happen if source code is
|
| - // disabled.
|
| - if (showCode == null) continue;
|
| -
|
| - var preList = elem.queryAll('pre.source');
|
| -
|
| - showCode.onClick.listen((e) {
|
| - for (final pre in preList) {
|
| - if (pre.classes.contains('expanded')) {
|
| - pre.classes.remove('expanded');
|
| - } else {
|
| - // Syntax highlight.
|
| - if (!pre.classes.contains('formatted')) {
|
| - pre.innerHtml = classifySource(pre.text);
|
| - pre.classes.add('formatted');
|
| - };
|
| - pre.classes.add('expanded');
|
| - }
|
| - }
|
| - });
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * Enables show/hide functionality for inherited members and comments.
|
| - */
|
| -void enableShowHideInherited() {
|
| - var showInherited = document.query('#show-inherited');
|
| - if (showInherited == null) return;
|
| - showInherited.dataset.putIfAbsent('show-inherited', () => 'block');
|
| - showInherited.onClick.listen((e) {
|
| - String display = showInherited.dataset['show-inherited'];
|
| - if (display == 'block') {
|
| - display = 'none';
|
| - showInherited.innerHtml = 'Show inherited';
|
| - } else {
|
| - display = 'block';
|
| - showInherited.innerHtml = 'Hide inherited';
|
| - }
|
| - showInherited.dataset['show-inherited'] = display;
|
| - for (var elem in document.queryAll('.inherited')) {
|
| - elem.style.display = display;
|
| - }
|
| - });
|
| -
|
| -}
|
| -
|
| -/** Turns [name] into something that's safe to use as a file name. */
|
| -String sanitize(String name) => name.replaceAll(':', '_').replaceAll('/', '_');
|
| -
|
| -String getTypeName(Map typeInfo) =>
|
| - typeInfo.containsKey('args')
|
| - ? '${typeInfo[NAME]}<${typeInfo[NAME]}>'
|
| - : typeInfo[NAME];
|
| -
|
| -String getLibraryUrl(String libraryName) =>
|
| - '$prefix${sanitize(libraryName)}.html';
|
| -
|
| -String getTypeUrl(String libraryName, Map typeInfo) =>
|
| - '$prefix${sanitize(libraryName)}/${sanitize(typeInfo[NAME])}.html';
|
| -
|
| -String getLibraryMemberUrl(String libraryName, Map memberInfo) =>
|
| - '$prefix${sanitize(libraryName)}.html#${getMemberAnchor(memberInfo)}';
|
| -
|
| -String getTypeMemberUrl(String libraryName, String typeName, Map memberInfo) =>
|
| - '$prefix${sanitize(libraryName)}/${sanitize(typeName)}.html#'
|
| - '${getMemberAnchor(memberInfo)}';
|
| -
|
| -String getMemberAnchor(Map memberInfo) => memberInfo.containsKey(LINK_NAME)
|
| - ? memberInfo[LINK_NAME] : memberInfo[NAME];
|
|
|