summaryrefslogtreecommitdiffstats
path: root/lib/models/summary.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/summary.js')
-rw-r--r--lib/models/summary.js15
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({