@@ -28,6 +28,8 @@ module.exports = function categorizer() {
2828 classDoc . methods . forEach ( doc => decorateMethodDoc ( doc ) ) ;
2929 classDoc . properties . forEach ( doc => decoratePropertyDoc ( doc ) ) ;
3030
31+ decoratePublicDoc ( classDoc ) ;
32+
3133 // Categorize the current visited classDoc into its Angular type.
3234 if ( isDirective ( classDoc ) ) {
3335 classDoc . isDirective = true ;
@@ -45,6 +47,7 @@ module.exports = function categorizer() {
4547 */
4648 function decorateMethodDoc ( methodDoc ) {
4749 normalizeMethodParameters ( methodDoc ) ;
50+ decoratePublicDoc ( methodDoc ) ;
4851
4952 // Mark methods with a `void` return type so we can omit show the return type in the docs.
5053 methodDoc . showReturns = methodDoc . returnType && methodDoc . returnType != 'void' ;
@@ -55,12 +58,25 @@ module.exports = function categorizer() {
5558 * outputs will be marked. Aliases for the inputs or outputs will be stored as well.
5659 */
5760 function decoratePropertyDoc ( propertyDoc ) {
61+ decoratePublicDoc ( propertyDoc ) ;
62+
5863 propertyDoc . isDirectiveInput = isDirectiveInput ( propertyDoc ) ;
5964 propertyDoc . directiveInputAlias = getDirectiveInputAlias ( propertyDoc ) ;
6065
6166 propertyDoc . isDirectiveOutput = isDirectiveOutput ( propertyDoc ) ;
6267 propertyDoc . directiveOutputAlias = getDirectiveOutputAlias ( propertyDoc ) ;
6368 }
69+
70+ /**
71+ * Decorates public exposed docs. Creates a property with CSS classes that will be
72+ * added to the template.
73+ **/
74+ function decoratePublicDoc ( doc ) {
75+ // Specific classes that will can added to the Dgeni doc template.
76+ doc . docClasses = [
77+ isDeprecatedDoc ( doc ) ? 'docs-api-deprecated' : ''
78+ ] . join ( ' ' ) ;
79+ }
6480} ;
6581
6682/** Function that walks through all inherited docs and collects public methods. */
@@ -146,6 +162,10 @@ function isDirectiveInput(doc) {
146162 return hasMemberDecorator ( doc , 'Input' ) ;
147163}
148164
165+ function isDeprecatedDoc ( doc ) {
166+ return ( doc . tags && doc . tags . tags || [ ] ) . some ( tag => tag . tagName === 'deprecated' ) ;
167+ }
168+
149169function getDirectiveInputAlias ( doc ) {
150170 return isDirectiveInput ( doc ) ? doc . decorators . find ( d => d . name == 'Input' ) . arguments [ 0 ] : '' ;
151171}
0 commit comments