1
1
<!DOCTYPE html>
2
2
< html > < body >
3
- < element name ="x-doc-link " constructor =" DocLink " extends ="span ">
3
+ < element name ="x-doc-link " extends ="span ">
4
4
< template >
5
5
< template instantiate ="if ref.refId != 'void' ">
6
- < a href ="{{permalink(ref)}} "> {{ref.name}}</ a >
6
+ < a href ="{{permalink(ref)}} ">
7
+ < template instantiate ="if short ">
8
+ {{ref.name}}
9
+ </ template >
10
+ < template instantiate ="if !short ">
11
+ {{ref.shortDescription}}
12
+ </ template >
13
+ </ a >
7
14
</ template >
8
15
< template instantiate ="if ref.refId == 'void' ">
9
16
{{ref.name}}
15
22
import 'model.dart' ;
16
23
17
24
class DocLink extends WebComponent {
18
- /// Must be a Reference or Element.
25
+ /** Must be a Reference or Element. */
19
26
var ref ;
27
+ /** Whether a short version of the Element name should be used. */
28
+ bool short = false ;
20
29
}
21
30
</ script >
22
31
</ element >
23
-
24
- < element name ="x-member-blocks " constructor ="MemberBlocks " extends ="div ">
25
- < template >
26
- < template iterate ='block in blocks '>
27
- < div >
28
- < h3 > {{block.kindTitle}}</ h3 >
29
- < ul >
30
- < template iterate ='element in block.elements '>
31
- < li class ="{{kindCssClass(element)}} ">
32
- < x-element-summary element ="{{element}} "> </ x-element-summary >
33
- </ li >
34
- </ template >
35
- </ ul >
36
- </ div >
37
- </ template >
38
- </ template >
39
- < script type ="application/dart ">
40
- // TODO(jacobr): this is kinda a rediculous way to do this
41
- import 'package:web_ui/web_ui.dart' ;
42
- import 'ast.dart' ;
43
- import 'model.dart' ;
44
-
45
- class MemberBlocks extends WebComponent {
46
- List < ElementBlock > blocks;
47
- }
48
- </ script >
49
- </ element >
50
-
51
- < element name ="x-element-signature " constructor ="ElementSignature " extends ="span ">
52
- < template >
53
- < span class ="element-class ">
54
- < template instantiate ="if (element is MethodElementBase || element is TypedefElement) && element.returnType != null ">
55
- < x-doc-link ref ="{{element.returnType}} "> </ x-doc-link >
56
- </ template >
57
- </ span >
58
- < span class ="element-definition ">
59
- < span class ="element-name "> < x-doc-link ref ="{{element}} "> </ x-doc-link > </ span >
60
- < template instantiate ="if element is MethodElement || element is ConstructorElement || element is TypedefElement ">
61
- < span class ="args "> (
62
- < template iterate ="param in element.parameters ">
63
- < span class ="arg ">
64
- < template instantiate ="if param.type != null ">
65
- < span class = "arg-type ">
66
- < x-doc-link ref ="{{param.type}} "> </ x-doc-link >
67
- </ span >
68
- </ template >
69
- < span class ="arg-name "> {{param.name}}</ span >
70
- </ span >
71
- </ template > )
72
- </ span >
73
- </ template >
74
- </ span >
75
- </ template >
76
- < script type ="application/dart ">
77
- import 'package:web_ui/web_ui.dart' ;
78
- import 'ast.dart' ;
79
- import 'model.dart' ;
80
-
81
- class ElementSignature extends WebComponent {
82
- Element element ;
83
- }
84
- </ script >
85
- </ element >
86
-
87
- < element name ="x-element-summary " constructor ="ElementSummary " extends ="div ">
88
- < template >
89
- <!--TODO(jacobr): use id instead of data-id and use a different escaping scheme-->
90
- < details class ="element-details {{(element is MethodElementBase) ? 'member-details' : 'type-details'}} " data-id ="{{element.id}} " open ="{{currentMember != null && element.id == currentMember.id}} ">
91
- < summary >
92
- < div class ="overflow-shadow "> </ div >
93
- < template instantiate ="if element is! ClassElement ">
94
- < x-element-signature element ="{{element}} ">
95
- </ x-element-signature >
96
- </ template >
97
- < template instantiate ="if element is ClassElement ">
98
- < x-doc-link class ="element-name element-definition " ref ="{{element}} "> </ x-doc-link >
99
- </ template >
100
- < div class ="documentation ">
101
- {{element.commentHtml}}
102
- </ div >
103
- </ summary >
104
- < details class ="extended-element-info ">
105
- < summary > View ?? comments.</ summary >
106
- TODO(jacobr): implement.
107
- </ details >
108
- </ details >
109
- </ template >
110
- < script type ="application/dart ">
111
- // TODO(jacobr): this is kinda a rediculous way to do this
112
- import 'package:web_ui/web_ui.dart' ;
113
- import 'ast.dart' ;
114
- import 'model.dart' ;
115
-
116
- class ElementSummary extends WebComponent {
117
- Element element ;
118
- }
119
- </ script >
120
- </ element >
121
-
122
- < element name ="x-class-hierarchy-subtree " constructor ="ClassHierarchySubtree " extends ="div ">
123
- < template >
124
- < template instantiate ="if (index < clazz.superclasses.length) ">
125
- < div > < x-doc-link ref ={{clazz.superclasses[index]}} > </ x-doc-link > </ div >
126
- < div style ="padding-left: 15px ">
127
- < x-class-hierarchy-subtree clazz ="{{clazz}} " index ="{{index+1}} ">
128
- </ x-class-hierarchy-subtree >
129
- </ div >
130
- </ template >
131
- < template instantiate ="if index == clazz.superclasses.length ">
132
- < div > < strong > {{clazz.name}}</ strong > </ div >
133
- </ template >
134
- </ template >
135
- < script type ="application/dart ">
136
- // TODO(jacobr): this is kinda a rediculous way to do this
137
- import 'package:web_ui/web_ui.dart' ;
138
- import 'ast.dart' ;
139
- import 'model.dart' ;
140
-
141
- class ClassHierarchySubtree extends WebComponent {
142
- ClassElement clazz ;
143
- int index ;
144
- }
145
- </ script >
146
- </ element >
147
-
148
- < element name ="x-class-hierarchy " constructor ="ClassHierarchy " extends ="div ">
149
- < template >
150
- < x-class-hierarchy-subtree clazz ="{{clazz}} " index ="{{0}} ">
151
- </ x-class-hierarchy-subtree >
152
- </ template >
153
- < script type ="application/dart ">
154
- import 'package:web_ui/web_ui.dart' ;
155
- import 'ast.dart' ;
156
- import 'model.dart' ;
157
-
158
- class ClassHierarchy extends WebComponent {
159
- ClassElement clazz ;
160
- }
161
- </ script >
162
- </ element >
163
- <!-- more below... -->
164
32
</ body > </ html >
0 commit comments