diff --git a/material.angular.io/src/app/pages/component-viewer/component-api.scss b/material.angular.io/src/app/pages/component-viewer/component-api.scss
index d491b650aa41..bc44c524617d 100644
--- a/material.angular.io/src/app/pages/component-viewer/component-api.scss
+++ b/material.angular.io/src/app/pages/component-viewer/component-api.scss
@@ -31,6 +31,7 @@
.docs-api-method-description-cell,
.docs-api-property-description,
.docs-api-class-export-label,
+.docs-api-component-selectors,
.docs-api-directive-selectors,
.docs-api-class-description,
.docs-api-class-export-name {
diff --git a/tools/dgeni/common/decorators.ts b/tools/dgeni/common/decorators.ts
index 5a212003eeea..0b07a9be5f19 100644
--- a/tools/dgeni/common/decorators.ts
+++ b/tools/dgeni/common/decorators.ts
@@ -30,7 +30,11 @@ export function isProperty(doc: MemberDoc): boolean {
}
export function isDirective(doc: ClassExportDoc): boolean {
- return hasClassDecorator(doc, 'Component') || hasClassDecorator(doc, 'Directive');
+ return hasClassDecorator(doc, 'Directive');
+}
+
+export function isComponent(doc: ClassExportDoc): boolean {
+ return hasClassDecorator(doc, 'Component');
}
export function isService(doc: ClassExportDoc): boolean {
@@ -50,12 +54,12 @@ export function isPrimaryExportDoc(doc: ApiDoc): boolean {
return hasJsDocTag(doc, 'docs-primary-export');
}
-export function getDirectiveSelectors(classDoc: CategorizedClassDoc): string[] | undefined {
- if (classDoc.directiveMetadata) {
- const directiveSelectors: string = classDoc.directiveMetadata.get('selector');
+export function getSelectors(classDoc: CategorizedClassDoc): string[] | undefined {
+ if (classDoc.metadata) {
+ const selectors: string = classDoc.metadata.get('selector');
- if (directiveSelectors) {
- return directiveSelectors
+ if (selectors) {
+ return selectors
.replace(/[\r\n]/g, '')
.split(/\s*,\s*/)
.filter(s => s !== '');
diff --git a/tools/dgeni/common/dgeni-definitions.ts b/tools/dgeni/common/dgeni-definitions.ts
index 5b7865b61de4..0da3771dac50 100644
--- a/tools/dgeni/common/dgeni-definitions.ts
+++ b/tools/dgeni/common/dgeni-definitions.ts
@@ -29,12 +29,13 @@ export interface CategorizedClassLikeDoc extends ClassLikeExportDoc, Deprecation
/** Extended Dgeni class document that includes extracted Angular metadata. */
export interface CategorizedClassDoc extends ClassExportDoc, CategorizedClassLikeDoc {
isDirective: boolean;
+ isComponent: boolean;
isService: boolean;
isNgModule: boolean;
isTestHarness: boolean;
- directiveExportAs?: string | null;
- directiveSelectors?: string[];
- directiveMetadata: Map
+ Selector: + {% for selector in class.selectors %} + {$ selector $} + {% endfor %} +
+{%- endif -%} + +{%- if class.selectors and class.isDirective -%}Selector: - {% for selector in class.directiveSelectors %} + {% for selector in class.selectors %} {$ selector $} {% endfor %}
{%- endif -%} -{%- if class.directiveExportAs -%} +{%- if class.exportAs -%} Exported as: -{$ class.directiveExportAs $} +{$ class.exportAs $} {%- endif -%} {%- if class.isDeprecated -%} diff --git a/tools/dgeni/templates/entry-point.template.html b/tools/dgeni/templates/entry-point.template.html index 6b70a5ae16d0..b5437ba42c5b 100644 --- a/tools/dgeni/templates/entry-point.template.html +++ b/tools/dgeni/templates/entry-point.template.html @@ -60,6 +60,15 @@