diff options
author | Soreine <nicolas@gitbook.com> | 2016-05-03 16:02:58 +0200 |
---|---|---|
committer | Soreine <nicolas@gitbook.com> | 2016-05-03 16:02:58 +0200 |
commit | 3fc90554f5e7e6ff2fb4f023319799e1e8f81454 (patch) | |
tree | dc34d87ba50d004c9fac610a370432ae340ad498 /lib/modifiers/summary/removeArticle.js | |
parent | 4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86 (diff) | |
download | gitbook-3fc90554f5e7e6ff2fb4f023319799e1e8f81454.zip gitbook-3fc90554f5e7e6ff2fb4f023319799e1e8f81454.tar.gz gitbook-3fc90554f5e7e6ff2fb4f023319799e1e8f81454.tar.bz2 |
Add tests, and fixes.
Diffstat (limited to 'lib/modifiers/summary/removeArticle.js')
-rw-r--r-- | lib/modifiers/summary/removeArticle.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/modifiers/summary/removeArticle.js b/lib/modifiers/summary/removeArticle.js index 4cb848a..8a30d0a 100644 --- a/lib/modifiers/summary/removeArticle.js +++ b/lib/modifiers/summary/removeArticle.js @@ -1,5 +1,5 @@ var is = require('is'); -var editArticle = require('./editArticle'); +var mergeAtLevel = require('./mergeAtLevel'); var indexArticleLevels = require('./indexArticleLevels'); /** @@ -13,24 +13,25 @@ function removeArticle(summary, level) { // Coerce to level level = is.string(level)? level : level.getLevel(); - var parent = summary.getParent(summary, level); + var parent = summary.getParent(level); + var articles = parent.getArticles(); // Find the index to remove var index = articles.findIndex(function(art) { return art.getLevel() === level; }); - if (!index) { + if (index === -1) { return summary; } // Remove from children - var articles = parent.getArticles().remove(index); + articles = articles.remove(index); parent = parent.set('articles', articles); // Reindex the level from here parent = indexArticleLevels(parent); - return editArticle(summary, parent.getLevel(), parent); + return mergeAtLevel(summary, parent.getLevel(), parent); } module.exports = removeArticle; |