diff options
| author | Peter Bacon Darwin | 2014-02-20 10:57:40 +0000 | 
|---|---|---|
| committer | Peter Bacon Darwin | 2014-02-20 14:41:32 +0000 | 
| commit | d7a73e41eddf3b8f06b87535c5ba6cc3196cbffd (patch) | |
| tree | 9c73026320b1a17b000eed70500ac02e7a98faf9 /docs/config/processors | |
| parent | e6c35e1b6b22acbf45abb883bf254b7191a42a38 (diff) | |
| download | angular.js-d7a73e41eddf3b8f06b87535c5ba6cc3196cbffd.tar.bz2 | |
chore(doc-gen): add formatted error messages to error pages
This got missed in the doc migration: When there is an error in an
Angular app, extra information is placed in the URL, which can be used
by the docs application to display a more useful message.
This fix adds that back in.  The error message templates are extracted
by the minerr tool during build and put into the errors.json file. The
errors-doc processor will load this up and attach these message templates
to the error docs.
The display of these templates was already in place, via the errorDisplay
directive in docs/app/js/errors.js.
(Also, moved the error.template.html file into the angular.js repository
from the dgeni-packages repository as this is specific to the angular.js
project and all the other error related stuff is in here.
Finally, also, added an e2e test that checks that minerr formatted
messages are displayed correctly.
Closes #6363
Diffstat (limited to 'docs/config/processors')
| -rw-r--r-- | docs/config/processors/error-docs.js | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/docs/config/processors/error-docs.js b/docs/config/processors/error-docs.js index 80a7b996..3fed96c5 100644 --- a/docs/config/processors/error-docs.js +++ b/docs/config/processors/error-docs.js @@ -8,8 +8,15 @@ module.exports = {    runAfter: ['tags-extracted'],    init: function(config, injectables) {      injectables.value('errorNamespaces', {}); + +    var minerrInfoPath = config.get('processing.errors.minerrInfoPath'); +    if ( !minerrInfoPath ) { +      throw new Error('Error in configuration: Please provide a path to the minerr info file (errors.json) ' + +        'in the `config.processing.errors.minerrInfoPath` property'); +    } +    injectables.value('minerrInfo', require(minerrInfoPath));    }, -  process: function(docs, partialNames, errorNamespaces) { +  process: function(docs, partialNames, errorNamespaces, minerrInfo) {      // Create error namespace docs and attach error docs to each      _.forEach(docs, function(doc) { @@ -32,6 +39,8 @@ module.exports = {          namespaceDoc.errors.push(doc);          doc.namespace = namespaceDoc; +        doc.formattedErrorMessage = minerrInfo.errors[doc.namespace.name][doc.name]; +        }      }); | 
