Index: client/web/element_summary.html |
diff --git a/client/web/doc_link.html b/client/web/element_summary.html |
similarity index 60% |
copy from client/web/doc_link.html |
copy to client/web/element_summary.html |
index c88cb531902545c8caec2c535bdcd23b37346531..cb89a2098e7b30ca58ba82f741e5b956fec11878 100644 |
--- a/client/web/doc_link.html |
+++ b/client/web/element_summary.html |
@@ -1,43 +1,22 @@ |
<!DOCTYPE html> |
-<html><body> |
- <element name="x-doc-link" constructor="DocLink" extends="span"> |
- <template> |
- <template instantiate="if ref.refId != 'void'"> |
- <a href="{{permalink(ref)}}">{{ref.name}}</a> |
- </template> |
- <template instantiate="if ref.refId == 'void'"> |
- {{ref.name}} |
- </template> |
- </template> |
- <script type="application/dart"> |
- import 'package:web_ui/web_ui.dart'; |
- import 'ast.dart'; |
- import 'model.dart'; |
- |
- class DocLink extends WebComponent { |
- /// Must be a Reference or Element. |
- var ref; |
- } |
- </script> |
- </element> |
+<html> |
+ <head> |
+ <link rel="components" href="doc_link.html"> |
+ </head> |
- <element name="x-member-blocks" constructor="MemberBlocks" extends="div"> |
+ <body> |
+ <element name="x-member-blocks" extends="div"> |
<template> |
<template iterate='block in blocks'> |
<div> |
<h3>{{block.kindTitle}}</h3> |
- <ul> |
- <template iterate='element in block.elements'> |
- <li class="{{kindCssClass(element)}}"> |
- <x-element-summary element="{{element}}"></x-element-summary> |
- </li> |
- </template> |
- </ul> |
+ <template iterate='element in block.elements'> |
+ <x-element-summary element="{{element}}"></x-element-summary> |
+ </template> |
</div> |
</template> |
</template> |
<script type="application/dart"> |
- // TODO(jacobr): this is kinda a rediculous way to do this |
import 'package:web_ui/web_ui.dart'; |
import 'ast.dart'; |
import 'model.dart'; |
@@ -48,21 +27,23 @@ |
</script> |
</element> |
- <element name="x-element-signature" constructor="ElementSignature" extends="span"> |
+ <element name="x-element-signature" extends="span"> |
<template> |
<span class="element-class"> |
- <template instantiate="if (element is MethodElementBase || element is TypedefElement) && element.returnType != null"> |
+ <template instantiate="if hasReturnType"> |
<x-doc-link ref="{{element.returnType}}"></x-doc-link> |
</template> |
</span> |
<span class="element-definition"> |
- <span class="element-name"><x-doc-link ref="{{element}}"></x-doc-link></span> |
- <template instantiate="if element is MethodElement || element is ConstructorElement || element is TypedefElement"> |
+ <span class="element-name"> |
+ <x-doc-link ref="{{element}}" short="{{true}}"></x-doc-link> |
+ </span> |
+ <template instantiate="if hasArguments"> |
<span class="args">( |
<template iterate="param in element.parameters"> |
<span class="arg"> |
<template instantiate="if param.type != null"> |
- <span class = "arg-type"> |
+ <span class="arg-type"> |
<x-doc-link ref="{{param.type}}"></x-doc-link> |
</span> |
</template> |
@@ -80,26 +61,36 @@ |
class ElementSignature extends WebComponent { |
Element element; |
+ |
+ bool get hasReturnType => |
+ (element is MethodLikeElement || element is TypedefElement) |
+ && element.returnType != null; |
+ |
+ bool get hasArguments => |
+ element is MethodElement || element is ConstructorElement |
+ || element is TypedefElement; |
} |
</script> |
</element> |
- <element name="x-element-summary" constructor="ElementSummary" extends="div"> |
+ <element name="x-element-summary" extends="div"> |
<template> |
<!--TODO(jacobr): use id instead of data-id and use a different escaping scheme--> |
- <details class="element-details {{(element is MethodElementBase) ? 'member-details' : 'type-details'}}" data-id="{{element.id}}" open="{{currentMember != null && element.id == currentMember.id}}"> |
- <summary> |
+ <details class="element-details {{kindClass}} {{memberOrTypeClass}}" |
+ data-id="{{element.id}}" |
+ open="{{isOpen}}"> |
+ <summary> |
<div class="overflow-shadow"></div> |
<template instantiate="if element is! ClassElement"> |
<x-element-signature element="{{element}}"> |
</x-element-signature> |
</template> |
<template instantiate="if element is ClassElement"> |
- <x-doc-link class="element-name element-definition" ref="{{element}}"></x-doc-link> |
+ <x-doc-link class="element-name element-definition" |
+ ref="{{element}}"> |
+ </x-doc-link> |
</template> |
- <div class="documentation"> |
- {{element.commentHtml}} |
- </div> |
+ <div class="documentation">{{element.commentHtml}}</div> |
</summary> |
<details class="extended-element-info"> |
<summary>View ?? comments.</summary> |
@@ -115,21 +106,30 @@ |
class ElementSummary extends WebComponent { |
Element element; |
+ |
+ String get kindClass => kindCssClass(element); |
+ String get memberOrTypeClass => |
+ (element is MethodLikeElement) ? 'member-details' : 'type-details'; |
+ |
+ bool get isOpen => |
+ currentMember != null && element.id == currentMember.id; |
} |
</script> |
</element> |
- <element name="x-class-hierarchy-subtree" constructor="ClassHierarchySubtree" extends="div"> |
+ <element name="x-class-hierarchy-subtree" extends="div"> |
<template> |
<template instantiate="if (index < clazz.superclasses.length)"> |
<div><x-doc-link ref={{clazz.superclasses[index]}}></x-doc-link></div> |
- <div style="padding-left: 15px"> |
+ <!-- TODO(jacobr): why doesn't it work to just put this class on the |
+ x-class-hierarchy-subtree node? --> |
+ <div class="child-subtree"> |
<x-class-hierarchy-subtree clazz="{{clazz}}" index="{{index+1}}"> |
</x-class-hierarchy-subtree> |
</div> |
</template> |
<template instantiate="if index == clazz.superclasses.length"> |
- <div><strong>{{clazz.name}}</strong></div> |
+ <div><strong>{{clazz.shortDescription}}</strong></div> |
</template> |
</template> |
<script type="application/dart"> |
@@ -145,7 +145,7 @@ |
</script> |
</element> |
- <element name="x-class-hierarchy" constructor="ClassHierarchy" extends="div"> |
+ <element name="x-class-hierarchy" extends="div"> |
<template> |
<x-class-hierarchy-subtree clazz="{{clazz}}" index="{{0}}"> |
</x-class-hierarchy-subtree> |
@@ -160,5 +160,4 @@ |
} |
</script> |
</element> |
-<!-- more below... --> |
</body></html> |