| Index: site/try/src/html_to_text.dart
|
| diff --git a/site/try/src/html_to_text.dart b/site/try/src/html_to_text.dart
|
| deleted file mode 100644
|
| index 532cad64e7ecfc4eb48b53f70c9100665f3dc8c1..0000000000000000000000000000000000000000
|
| --- a/site/try/src/html_to_text.dart
|
| +++ /dev/null
|
| @@ -1,77 +0,0 @@
|
| -// Copyright (c) 2014, 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 trydart.htmlToText;
|
| -
|
| -import 'dart:math' show
|
| - max;
|
| -
|
| -import 'dart:html' show
|
| - CharacterData,
|
| - Element,
|
| - Node,
|
| - NodeFilter,
|
| - ShadowRoot,
|
| - TreeWalker;
|
| -
|
| -import 'selection.dart' show
|
| - TrySelection;
|
| -
|
| -import 'shadow_root.dart' show
|
| - WALKER_NEXT,
|
| - WALKER_SKIP_NODE,
|
| - walkNodes;
|
| -
|
| -/// Returns true if [node] is a block element, that is, not inline.
|
| -bool isBlockElement(Node node) {
|
| - if (node is! Element) return false;
|
| - Element element = node;
|
| -
|
| - // TODO(ahe): Remove this line by changing code completion to avoid using a
|
| - // div element.
|
| - if (element.classes.contains('dart-code-completion')) return false;
|
| -
|
| - var display = element.getComputedStyle().display;
|
| - return display != 'inline' && display != 'none';
|
| -}
|
| -
|
| -/// Writes the text of [root] to [buffer]. Keeps track of [selection] and
|
| -/// returns the new anchorOffset from beginning of [buffer] or -1 if the
|
| -/// selection isn't in [root].
|
| -int htmlToText(Node root,
|
| - StringBuffer buffer,
|
| - TrySelection selection,
|
| - {bool treatRootAsInline: false}) {
|
| - int selectionOffset = -1;
|
| - walkNodes(root, (Node node) {
|
| - if (selection.anchorNode == node) {
|
| - selectionOffset = selection.anchorOffset + buffer.length;
|
| - }
|
| - switch (node.nodeType) {
|
| - case Node.CDATA_SECTION_NODE:
|
| - case Node.TEXT_NODE:
|
| - CharacterData text = node;
|
| - buffer.write(text.data.replaceAll('\xA0', ' '));
|
| - break;
|
| -
|
| - default:
|
| - if (node.nodeName == 'BR') {
|
| - buffer.write('\n');
|
| - } else if (node != root && isBlockElement(node)) {
|
| - selectionOffset =
|
| - max(selectionOffset, htmlToText(node, buffer, selection));
|
| - return WALKER_SKIP_NODE;
|
| - }
|
| - break;
|
| - }
|
| -
|
| - return WALKER_NEXT;
|
| - });
|
| -
|
| - if (!treatRootAsInline && isBlockElement(root)) {
|
| - buffer.write('\n');
|
| - }
|
| -
|
| - return selectionOffset;
|
| -}
|
|
|