2
2
// for details. All rights reserved. Use of this source code is governed by a
3
3
// BSD-style license that can be found in the LICENSE file.
4
4
5
+ import 'package:dartdoc/src/html/template_render_helper.dart' ;
5
6
import 'package:dartdoc/src/model/model.dart' ;
6
7
7
8
abstract class HtmlOptions {
@@ -12,8 +13,9 @@ abstract class HtmlOptions {
12
13
abstract class TemplateData <T extends Documentable > {
13
14
final PackageGraph packageGraph;
14
15
final HtmlOptions htmlOptions;
16
+ final TemplateRenderHelper _templateHelper;
15
17
16
- TemplateData (this .htmlOptions, this .packageGraph);
18
+ TemplateData (this .htmlOptions, this .packageGraph, this ._templateHelper );
17
19
18
20
String get title;
19
21
String get layoutTitle;
@@ -37,20 +39,15 @@ abstract class TemplateData<T extends Documentable> {
37
39
String get version => htmlOptions.toolVersion;
38
40
String get relCanonicalPrefix => htmlOptions.relCanonicalPrefix;
39
41
40
- String _layoutTitle (String name, String kind, bool isDeprecated) {
41
- if (isDeprecated) {
42
- return '<span class="deprecated">${name }</span> ${kind }' ;
43
- } else {
44
- return '${name } ${kind }' ;
45
- }
46
- }
42
+ String _layoutTitle (String name, String kind, bool isDeprecated) =>
43
+ _templateHelper.composeLayoutTitle (name, kind, isDeprecated);
47
44
}
48
45
49
46
class PackageTemplateData extends TemplateData <Package > {
50
47
final Package package;
51
- PackageTemplateData (
52
- HtmlOptions htmlOptions, PackageGraph packageGraph , this .package)
53
- : super (htmlOptions, packageGraph);
48
+ PackageTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
49
+ HtmlRenderHelper templateHelper , this .package)
50
+ : super (htmlOptions, packageGraph, templateHelper );
54
51
55
52
@override
56
53
bool get includeVersion => true ;
@@ -78,9 +75,9 @@ class PackageTemplateData extends TemplateData<Package> {
78
75
class CategoryTemplateData extends TemplateData <Category > {
79
76
final Category category;
80
77
81
- CategoryTemplateData (
82
- HtmlOptions htmlOptions, PackageGraph packageGraph , this .category)
83
- : super (htmlOptions, packageGraph);
78
+ CategoryTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
79
+ HtmlRenderHelper templateHelper , this .category)
80
+ : super (htmlOptions, packageGraph, templateHelper );
84
81
85
82
@override
86
83
String get title => '${category .name } ${category .kind } - Dart API' ;
@@ -105,9 +102,9 @@ class CategoryTemplateData extends TemplateData<Category> {
105
102
class LibraryTemplateData extends TemplateData <Library > {
106
103
final Library library;
107
104
108
- LibraryTemplateData (
109
- HtmlOptions htmlOptions, PackageGraph packageGraph , this .library)
110
- : super (htmlOptions, packageGraph);
105
+ LibraryTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
106
+ HtmlRenderHelper templateHelper , this .library)
107
+ : super (htmlOptions, packageGraph, templateHelper );
111
108
112
109
@override
113
110
String get title => '${library .name } library - Dart API' ;
@@ -132,8 +129,8 @@ class MixinTemplateData extends ClassTemplateData<Mixin> {
132
129
final Mixin mixin ;
133
130
134
131
MixinTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
135
- Library library, this .mixin )
136
- : super (htmlOptions, packageGraph, library, mixin );
132
+ HtmlRenderHelper templateHelper, Library library, this .mixin )
133
+ : super (htmlOptions, packageGraph, templateHelper, library, mixin );
137
134
138
135
@override
139
136
Mixin get self => mixin ;
@@ -146,8 +143,8 @@ class ClassTemplateData<T extends Class> extends TemplateData<T> {
146
143
Class _objectType;
147
144
148
145
ClassTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
149
- this .library, this .clazz)
150
- : super (htmlOptions, packageGraph);
146
+ HtmlRenderHelper templateHelper, this .library, this .clazz)
147
+ : super (htmlOptions, packageGraph, templateHelper );
151
148
152
149
@override
153
150
T get self => clazz;
@@ -191,8 +188,8 @@ class ExtensionTemplateData<T extends Extension> extends TemplateData<T> {
191
188
final Library library;
192
189
193
190
ExtensionTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
194
- this .library, this .extension )
195
- : super (htmlOptions, packageGraph);
191
+ HtmlRenderHelper templateHelper, this .library, this .extension )
192
+ : super (htmlOptions, packageGraph, templateHelper );
196
193
197
194
@override
198
195
T get self => extension ;
@@ -219,8 +216,8 @@ class ConstructorTemplateData extends TemplateData<Constructor> {
219
216
final Constructor constructor;
220
217
221
218
ConstructorTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
222
- this .library, this .clazz, this .constructor)
223
- : super (htmlOptions, packageGraph);
219
+ HtmlRenderHelper templateHelper, this .library, this .clazz,
220
+ this .constructor) : super (htmlOptions, packageGraph, templateHelper );
224
221
225
222
@override
226
223
Constructor get self => constructor;
@@ -246,8 +243,8 @@ class ConstructorTemplateData extends TemplateData<Constructor> {
246
243
247
244
class EnumTemplateData extends ClassTemplateData <Enum > {
248
245
EnumTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
249
- Library library, Enum eNum)
250
- : super (htmlOptions, packageGraph, library, eNum);
246
+ HtmlRenderHelper templateHelper, Library library, Enum eNum)
247
+ : super (htmlOptions, packageGraph, templateHelper, library, eNum);
251
248
252
249
Enum get eNum => clazz;
253
250
@override
@@ -259,8 +256,8 @@ class FunctionTemplateData extends TemplateData<ModelFunction> {
259
256
final Library library;
260
257
261
258
FunctionTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
262
- this .library, this .function)
263
- : super (htmlOptions, packageGraph);
259
+ HtmlRenderHelper templateHelper, this .library, this .function)
260
+ : super (htmlOptions, packageGraph, templateHelper );
264
261
265
262
@override
266
263
ModelFunction get self => function;
@@ -287,8 +284,9 @@ class MethodTemplateData extends TemplateData<Method> {
287
284
String containerDesc;
288
285
289
286
MethodTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
290
- this .library, this .container, this .method)
291
- : super (htmlOptions, packageGraph) {
287
+ HtmlRenderHelper templateHelper, this .library, this .container,
288
+ this .method)
289
+ : super (htmlOptions, packageGraph, templateHelper) {
292
290
containerDesc = container.isClass ? 'class' : 'extension' ;
293
291
}
294
292
@@ -303,8 +301,8 @@ class MethodTemplateData extends TemplateData<Method> {
303
301
method.nameWithGenerics, method.fullkind, method.isDeprecated);
304
302
@override
305
303
String get metaDescription =>
306
- 'API docs for the ${method .name } method from the ${ container . name } ${ containerDesc }, '
307
- 'for the Dart programming language.' ;
304
+ 'API docs for the ${method .name } method from the '
305
+ '${ container . name } ${ containerDesc }, for the Dart programming language.' ;
308
306
@override
309
307
List get navLinks => [packageGraph.defaultPackage, library];
310
308
@override
@@ -320,8 +318,9 @@ class PropertyTemplateData extends TemplateData<Field> {
320
318
String containerDesc;
321
319
322
320
PropertyTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
323
- this .library, this .container, this .property)
324
- : super (htmlOptions, packageGraph) {
321
+ HtmlRenderHelper templateHelper, this .library, this .container,
322
+ this .property)
323
+ : super (htmlOptions, packageGraph, templateHelper) {
325
324
containerDesc = container.isClass ? 'class' : 'extension' ;
326
325
}
327
326
@@ -337,8 +336,8 @@ class PropertyTemplateData extends TemplateData<Field> {
337
336
_layoutTitle (property.name, type, property.isDeprecated);
338
337
@override
339
338
String get metaDescription =>
340
- 'API docs for the ${property .name } $type from the ${ container . name } ${ containerDesc }, '
341
- 'for the Dart programming language.' ;
339
+ 'API docs for the ${property .name } $type from the '
340
+ '${ container . name } ${ containerDesc }, for the Dart programming language.' ;
342
341
@override
343
342
List get navLinks => [packageGraph.defaultPackage, library];
344
343
@override
@@ -351,8 +350,9 @@ class PropertyTemplateData extends TemplateData<Field> {
351
350
352
351
class ConstantTemplateData extends PropertyTemplateData {
353
352
ConstantTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
354
- Library library, Container container, Field property)
355
- : super (htmlOptions, packageGraph, library, container, property);
353
+ HtmlRenderHelper templateHelper, Library library, Container container,
354
+ Field property)
355
+ : super (htmlOptions, packageGraph, templateHelper, library, container, property);
356
356
357
357
@override
358
358
String get type => 'constant' ;
@@ -363,8 +363,8 @@ class TypedefTemplateData extends TemplateData<Typedef> {
363
363
final Typedef typeDef;
364
364
365
365
TypedefTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
366
- this .library, this .typeDef)
367
- : super (htmlOptions, packageGraph);
366
+ HtmlRenderHelper templateHelper, this .library, this .typeDef)
367
+ : super (htmlOptions, packageGraph, templateHelper );
368
368
369
369
@override
370
370
Typedef get self => typeDef;
@@ -390,8 +390,9 @@ class TopLevelPropertyTemplateData extends TemplateData<TopLevelVariable> {
390
390
final TopLevelVariable property;
391
391
392
392
TopLevelPropertyTemplateData (HtmlOptions htmlOptions,
393
- PackageGraph packageGraph, this .library, this .property)
394
- : super (htmlOptions, packageGraph);
393
+ PackageGraph packageGraph, HtmlRenderHelper templateHelper,
394
+ this .library, this .property)
395
+ : super (htmlOptions, packageGraph, templateHelper);
395
396
396
397
@override
397
398
TopLevelVariable get self => property;
@@ -416,8 +417,9 @@ class TopLevelPropertyTemplateData extends TemplateData<TopLevelVariable> {
416
417
417
418
class TopLevelConstTemplateData extends TopLevelPropertyTemplateData {
418
419
TopLevelConstTemplateData (HtmlOptions htmlOptions, PackageGraph packageGraph,
419
- Library library, TopLevelVariable property)
420
- : super (htmlOptions, packageGraph, library, property);
420
+ HtmlRenderHelper templateHelper, Library library,
421
+ TopLevelVariable property)
422
+ : super (htmlOptions, packageGraph, templateHelper, library, property);
421
423
422
424
@override
423
425
String get _type => 'constant' ;
0 commit comments