summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSoreine <nicolas@gitbook.com>2016-05-04 20:30:50 +0200
committerSoreine <nicolas@gitbook.com>2016-05-11 13:11:31 +0200
commit481a7d790cd499c5738768a723bf6075683997f6 (patch)
tree4e1ceedeb971519a0ac3f63ae3c9f512225f323c
parentef589a6b133ac67a7904f8bb2cbec42c96dec914 (diff)
downloadgitbook-481a7d790cd499c5738768a723bf6075683997f6.zip
gitbook-481a7d790cd499c5738768a723bf6075683997f6.tar.gz
gitbook-481a7d790cd499c5738768a723bf6075683997f6.tar.bz2
Insert/remove part
-rw-r--r--lib/modifiers/summary/index.js6
-rw-r--r--lib/modifiers/summary/insertPart.js19
-rw-r--r--lib/modifiers/summary/removePart.js15
3 files changed, 38 insertions, 2 deletions
diff --git a/lib/modifiers/summary/index.js b/lib/modifiers/summary/index.js
index 4498287..2b84f66 100644
--- a/lib/modifiers/summary/index.js
+++ b/lib/modifiers/summary/index.js
@@ -3,7 +3,9 @@ module.exports = {
moveArticle: require('./moveArticle'),
removeArticle: require('./removeArticle'),
unshiftArticle: require('./unshiftArticle'),
+ editArticleTitle: require('./editArticleTitle'),
- editPartTitle: require('./editPartTitle'),
- editArticleTitle: require('./editArticleTitle')
+ insertPart: require('./insertPart'),
+ removePart: require('./removePart'),
+ editPartTitle: require('./editPartTitle')
};
diff --git a/lib/modifiers/summary/insertPart.js b/lib/modifiers/summary/insertPart.js
new file mode 100644
index 0000000..ff36e27
--- /dev/null
+++ b/lib/modifiers/summary/insertPart.js
@@ -0,0 +1,19 @@
+var SummaryPart = require('../../models/summaryPart');
+var indexLevels = require('./indexLevels');
+
+/**
+ Returns a new Summary with a part inserted at given index
+
+ @param {Summary} summary
+ @param {Number} index
+ @param {Part} part
+ @return {Summary}
+*/
+function insertPart(summary, index, part) {
+ part = SummaryPart(part);
+
+ var parts = summary.getParts().insert(index, part);
+ return indexLevels(summary.set('parts', parts));
+}
+
+module.exports = insertPart;
diff --git a/lib/modifiers/summary/removePart.js b/lib/modifiers/summary/removePart.js
new file mode 100644
index 0000000..2f8affc
--- /dev/null
+++ b/lib/modifiers/summary/removePart.js
@@ -0,0 +1,15 @@
+var indexLevels = require('./indexLevels');
+
+/**
+ Remove a part at given index
+
+ @param {Summary} summary
+ @param {Number|} index
+ @return {Summary}
+*/
+function removePart(summary, index) {
+ var parts = summary.getParts().remove(index);
+ return indexLevels(summary.set('parts', parts));
+}
+
+module.exports = removePart;