Начало работы над ContentsPage

This commit is contained in:
Book Pauk
2020-11-13 14:23:55 +07:00
parent d75a08b519
commit e095c3318b
4 changed files with 101 additions and 2 deletions

View File

@@ -46,11 +46,17 @@ export default class BookParser {
let isFirstSection = true;
let isFirstTitlePara = false;
//изображения
this.binary = {};
let binaryId = '';
let binaryType = '';
let dimPromises = [];
//оглавление
this.contents = [];//[{paraIndex: <number>, subtitles: [{paraIndex: <number>}, ... ]}, ... ]
let curTitle = {paraIndex: -1, subtitles: []};
let curSubtitle = {paraIndex: -1};
let paraIndex = -1;
let paraOffset = 0;
let para = []; /*array of
@@ -129,6 +135,7 @@ export default class BookParser {
return;
}
const prevParaIndex = paraIndex;
let p = para[paraIndex];
paraOffset -= p.length;
//добавление пустых (addEmptyParagraphs) параграфов перед текущим
@@ -143,6 +150,11 @@ export default class BookParser {
p.offset = paraOffset;
para[paraIndex] = p;
if (curTitle.paraIndex == prevParaIndex)
curTitle.paraIndex = paraIndex;
if (curSubtitle.paraIndex == prevParaIndex)
curSubtitle.paraIndex = paraIndex;
//уберем начальный пробел
p.length = 0;
p.text = p.text.substr(1);
@@ -205,6 +217,9 @@ export default class BookParser {
isFirstTitlePara = true;
bold = true;
center = true;
curTitle = {paraIndex, subtitles: []};
this.contents.push(curTitle);
}
if (tag == 'section') {
@@ -231,6 +246,9 @@ export default class BookParser {
isFirstTitlePara = true;
bold = true;
center = true;
curSubtitle = {paraIndex};
curTitle.subtitles.push(curSubtitle);
}
if (tag == 'epigraph') {