diff options
Diffstat (limited to 'lib/models/summary.js')
-rw-r--r-- | lib/models/summary.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/models/summary.js b/lib/models/summary.js index 3918df7..f295a16 100644 --- a/lib/models/summary.js +++ b/lib/models/summary.js @@ -2,6 +2,7 @@ var Immutable = require('immutable'); var File = require('./file'); var SummaryPart = require('./summaryPart'); +var SummaryArticle = require('./summaryArticle'); var Summary = Immutable.Record({ file: File(), @@ -16,6 +17,16 @@ Summary.prototype.getParts = function() { return this.get('parts'); }; +/** + Return a part/article by its level + + @param {String} level + @return {Part|Article} +*/ +Summary.prototype.getByLevel = function(level) { + return SummaryArticle.getByLevel(this, level, 'getParts'); +}; + /** Create a new summary for a list of parts @@ -24,12 +35,12 @@ Summary.prototype.getParts = function() { @return {Summary} */ Summary.createFromParts = function createFromParts(file, parts) { - parts = parts.map(function(part) { + parts = parts.map(function(part, i) { if (part instanceof SummaryPart) { return part; } - return SummaryPart.create(part); + return SummaryPart.create(part, i); }); return new Summary({ |