summaryrefslogtreecommitdiffstats
path: root/lib/modifiers
diff options
context:
space:
mode:
authorSoreine <nicolas@gitbook.com>2016-05-03 13:11:32 +0200
committerSoreine <nicolas@gitbook.com>2016-05-03 13:11:32 +0200
commit4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86 (patch)
tree55ebc7200209f46093ed6b43c5a2007adaea6610 /lib/modifiers
parent693171cb0544c900cb964b0b6015ca528aa776f2 (diff)
downloadgitbook-4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86.zip
gitbook-4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86.tar.gz
gitbook-4ebe28faaebb8752107ef6cfa6253f7b6f8a2a86.tar.bz2
Update insert specification
Diffstat (limited to 'lib/modifiers')
-rw-r--r--lib/modifiers/summary/insertArticle.js5
-rw-r--r--lib/modifiers/summary/moveArticle.js27
2 files changed, 17 insertions, 15 deletions
diff --git a/lib/modifiers/summary/insertArticle.js b/lib/modifiers/summary/insertArticle.js
index d97943e..0a010b4 100644
--- a/lib/modifiers/summary/insertArticle.js
+++ b/lib/modifiers/summary/insertArticle.js
@@ -4,10 +4,11 @@ var editArticle = require('./editArticle');
var indexArticleLevels = require('./indexArticleLevels');
/**
- Insert an article in a summary at a specific position
+ Returns a new Summary with the article at the given level, with
+ subsequent article shifted.
@param {Summary} summary
- @param {String|Article} level: level to insert after
+ @param {String|Article} level: level to insert at
@param {Article} article
@return {Summary}
*/
diff --git a/lib/modifiers/summary/moveArticle.js b/lib/modifiers/summary/moveArticle.js
index 83904ec..9819245 100644
--- a/lib/modifiers/summary/moveArticle.js
+++ b/lib/modifiers/summary/moveArticle.js
@@ -3,29 +3,30 @@ var removeArticle = require('./removeArticle');
var insertArticle = require('./insertArticle');
/**
- Remove an article from a level, and insert it after another.
+ Returns a new summary, with the given article removed from its
+ origin level, and placed at the given target level.
@param {Summary} summary
- @param {String|SummaryArticle} from: level to remove
- @param {String|SummaryArticle} to: level to insert after
+ @param {String|SummaryArticle} origin: level to remove
+ @param {String|SummaryArticle} target: the level where the article will be found
@return {Summary}
*/
-function moveArticle(summary, from, to) {
+function moveArticle(summary, origin, target) {
// Coerce to level
- var fromLevel = is.string(from)? from : from.getLevel();
- var toLevel = is.string(to)? to : to.getLevel();
+ var originLevel = is.string(origin)? origin : origin.getLevel();
+ var targetLevel = is.string(target)? target : target.getLevel();
- var article = summary.getByLevel(fromLevel);
+ var article = summary.getByLevel(originLevel);
// Remove
- var removed = removeArticle(summary, from);
+ var removed = removeArticle(summary, origin);
- // Adjust toLevel if removing impacted it
- toLevel = arrayToLevel(
- shiftLevel(levelToArray(fromLevel),
- levelToArray(toLevel)));
+ // Adjust targetLevel if removing impacted it
+ targetLevel = arrayToLevel(
+ shiftLevel(levelToArray(originLevel),
+ levelToArray(targetLevel)));
// Re-insert
- return insertArticle(removed, to, article);
+ return insertArticle(removed, target, article);
}
/**