Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Commit a2089c5

Browse files
petebacondarwinIgorMinar
authored andcommitted
api-builder: render pipes with specialised template
1 parent 611c90d commit a2089c5

File tree

11 files changed

+101
-139
lines changed

11 files changed

+101
-139
lines changed

public/resources/css/module/_api.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
content: 'D';
99
background: #db4437;
1010
}
11+
&.pipe:before {
12+
content: 'P';
13+
background: #78909C;
14+
}
1115
&.class:before {
1216
content: 'C';
1317
background: #4285f4;

public/resources/js/directives/api-list.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ angularIO.directive('apiList', function () {
3131
$ctrl.apiTypes = [
3232
{ cssClass: 'stable', title: 'Stable', matches: ['stable']},
3333
{ cssClass: 'directive', title: 'Directive', matches: ['directive'] },
34+
{ cssClass: 'pipe', title: 'Pipe', matches: ['pipe'] },
3435
{ cssClass: 'decorator', title: 'Decorator', matches: ['decorator'] },
3536
{ cssClass: 'class', title: 'Class', matches: ['class'] },
3637
{ cssClass: 'interface', title: 'Interface', matches: ['interface'] },

tools/api-builder/angular.io-package/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ module.exports = new Package('angular.io', [basePackage, targetPackage, cheatshe
1616
.factory(require('./services/renderMarkdown'))
1717
.processor(require('./processors/addJadeDataDocsProcessor'))
1818
.processor(require('./processors/filterUnwantedDecorators'))
19-
.processor(require('./processors/extractDirectiveClasses'))
2019
.processor(require('./processors/matchUpDirectiveDecorators'))
2120
.processor(require('./processors/filterMemberDocs'))
2221

@@ -100,7 +99,7 @@ module.exports = new Package('angular.io', [basePackage, targetPackage, cheatshe
10099
})
101100

102101

103-
.config(function(readFilesProcessor, generateNavigationDoc, createOverviewDump) {
102+
.config(function(readFilesProcessor, generateNavigationDoc) {
104103
// Clear out unwanted processors
105104
generateNavigationDoc.$enabled = false;
106105
})

tools/api-builder/angular.io-package/processors/extractDirectiveClasses.spec.js

Lines changed: 0 additions & 51 deletions
This file was deleted.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{% include "lib/githubLinks.html" -%}
2+
{% include "lib/paramList.html" -%}
3+
{% extends 'layout/base.template.html' -%}
4+
5+
{% block body %}
6+
include {$ relativePath(doc.path, '_util-fns') $}
7+
8+
{% include "layout/_what-it-does.html" %}
9+
10+
{% include "layout/_security-notes.html" %}
11+
12+
{% include "layout/_deprecated-notes.html" %}
13+
14+
{% include "layout/_how-to-use.html" %}
15+
16+
div(layout="row" layout-xs="column" class="row-margin ng-cloak")
17+
div(flex="20" flex-xs="100")
18+
h2(class="h2-api-docs") Description
19+
div(class="code-links" flex="80" flex-xs="100")
20+
:marked
21+
{%- if doc.description.length > 2 %}
22+
{$ doc.description | indentForMarkdown(6) | trimBlankLines $}
23+
{% endif %}
24+
25+
p(class="location-badge").
26+
exported from {@link {$ doc.moduleDoc.id $} {$doc.moduleDoc.id $} }
27+
defined in {$ githubViewLink(doc) $}
28+
29+
{% endblock %}

tools/api-builder/docs-package/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
1111

1212
// Register the processors
1313
.processor(require('./processors/convertPrivateClassesToInterfaces'))
14-
.processor(require('./processors/extractDirectiveClasses'))
1514
.processor(require('./processors/generateNavigationDoc'))
1615
.processor(require('./processors/extractTitleFromGuides'))
1716
.processor(require('./processors/createOverviewDump'))
1817
.processor(require('./processors/checkUnbalancedBackTicks'))
1918
.processor(require('./processors/convertBackticksToCodeBlocks'))
2019
.processor(require('./processors/addNotYetDocumentedProperty'))
2120
.processor(require('./processors/mergeDecoratorDocs'))
21+
.processor(require('./processors/extractDecoratedClasses'))
2222

2323
.config(function(parseTagsProcessor) {
2424
parseTagsProcessor.tagDefinitions.push({ name: 'internal', transforms: function() { return true; } });

tools/api-builder/angular.io-package/processors/extractDirectiveClasses.js renamed to tools/api-builder/docs-package/processors/extractDecoratedClasses.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
var _ = require('lodash');
22

3-
module.exports = function extractDirectiveClassesProcessor(EXPORT_DOC_TYPES) {
3+
module.exports = function extractDecoratedClassesProcessor(EXPORT_DOC_TYPES) {
44

55
// Add the "directive" docType into those that can be exported from a module
6-
EXPORT_DOC_TYPES.push('directive');
6+
EXPORT_DOC_TYPES.push('directive', 'pipe');
77

88
return {
99
$runAfter: ['processing-docs'],
1010
$runBefore: ['docs-processed'],
11-
decoratorTypes: ['Directive', 'Component'],
11+
decoratorTypes: ['Directive', 'Component', 'Pipe'],
1212
$process: function(docs) {
1313
var decoratorTypes = this.decoratorTypes;
1414

@@ -17,9 +17,8 @@ module.exports = function extractDirectiveClassesProcessor(EXPORT_DOC_TYPES) {
1717
_.forEach(doc.decorators, function(decorator) {
1818

1919
if (decoratorTypes.indexOf(decorator.name) !== -1) {
20-
doc.docType = 'directive';
21-
22-
doc[decorator.name.toLowerCase() + 'Options'] = decorator.argumentInfo[0];
20+
doc.docType = decorator.name.toLowerCase();
21+
doc[doc.docType + 'Options'] = decorator.argumentInfo[0];
2322
}
2423
});
2524
});
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
var mockPackage = require('../mocks/mockPackage');
2+
var Dgeni = require('dgeni');
3+
4+
describe('extractDecoratedClasses processor', function() {
5+
var dgeni, injector, processor;
6+
7+
beforeEach(function() {
8+
dgeni = new Dgeni([mockPackage()]);
9+
injector = dgeni.configureInjector();
10+
processor = injector.get('extractDecoratedClassesProcessor');
11+
});
12+
13+
it('should extract specified decorator arguments', function() {
14+
var doc1 = {
15+
id: '@angular/common/ngFor',
16+
name: 'ngFor',
17+
docType: 'class',
18+
decorators: [
19+
{
20+
name: 'Directive',
21+
arguments: ['{selector: \'[ng-for][ng-for-of]\', properties: [\'ngForOf\']}'],
22+
argumentInfo: [
23+
{ selector: '[ng-for][ng-for-of]', properties: ['ngForOf'] }
24+
]
25+
}
26+
]
27+
};
28+
var doc2 = {
29+
id: '@angular/core/DecimalPipe',
30+
name: 'DecimalPipe',
31+
docType: 'class',
32+
decorators: [
33+
{ name: 'Pipe', arguments: ['{name: \'number\'}'], argumentInfo: [{ name: 'number' }]}
34+
]
35+
};
36+
37+
processor.$process([doc1, doc2]);
38+
39+
expect(doc1).toEqual(jasmine.objectContaining({
40+
id: '@angular/common/ngFor',
41+
name: 'ngFor',
42+
docType: 'directive',
43+
directiveOptions: {
44+
selector: '[ng-for][ng-for-of]',
45+
properties: ['ngForOf']
46+
}
47+
}));
48+
49+
expect(doc2).toEqual(jasmine.objectContaining({
50+
id: '@angular/core/DecimalPipe',
51+
name: 'DecimalPipe',
52+
docType: 'pipe',
53+
pipeOptions: {
54+
name: 'number'
55+
}
56+
}));
57+
});
58+
});

tools/api-builder/docs-package/processors/extractDirectiveClasses.js

Lines changed: 0 additions & 32 deletions
This file was deleted.

tools/api-builder/docs-package/processors/extractDirectiveClasses.spec.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

tools/dart-api-builder/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ module.exports = new Package('dart-api-and-cheatsheet-builder', [basePackage, ta
5252

5353
.config(function (convertPrivateClassesToInterfacesProcessor,
5454
createOverviewDump,
55-
extractDirectiveClassesProcessor,
55+
extractDecoratedClassesProcessor,
5656
extractJSDocCommentsProcessor,
5757
extractTitleFromGuides,
5858
generateNavigationDoc,
@@ -62,7 +62,7 @@ module.exports = new Package('dart-api-and-cheatsheet-builder', [basePackage, ta
6262
// Clear out unwanted processors
6363
createOverviewDump.$enabled = false;
6464
convertPrivateClassesToInterfacesProcessor.$enabled = false;
65-
extractDirectiveClassesProcessor.$enabled = false;
65+
extractDecoratedClassesProcessor.$enabled = false;
6666
extractJSDocCommentsProcessor.$enabled = false;
6767
extractTitleFromGuides.$enabled = false;
6868
generateNavigationDoc.$enabled = false;

0 commit comments

Comments
 (0)