+
{{ item.desc.textLen }}
-
+
+
+
+
{{ item.desc.perc }}
-
-
+
+
+ {{ item.num }}
+
+
+
+ Загружен: {{ item.loadTime }}
+
+
+ Читался: {{ item.touchTime }}
+
+
+
+
+
@@ -617,12 +621,6 @@ export default vueComponent(RecentBooksPage);
white-space: normal;
}
-.read-bar {
- height: 3px;
- background-color: #aaaaaa;
- margin-bottom: 2px;
-}
-
.even {
background-color: #f2f2f2;
}
@@ -643,18 +641,6 @@ export default vueComponent(RecentBooksPage);
transform: rotate(90deg);
}
-.row-info-top {
- line-height: 110%;
- border-left: 1px solid #cccccc;
- border-bottom: 1px solid #cccccc;
-}
-
-.row-info-bottom {
- line-height: 110%;
- border: 1px solid #cccccc;
- border-right: 0;
-}
-
.tool-button {
min-width: 30px;
width: 30px;
@@ -663,4 +649,28 @@ export default vueComponent(RecentBooksPage);
margin: 10px 6px 0px 3px;
background-color: white;
}
+
+.row-info-bottom {
+ line-height: 110%;
+ border-left: 1px solid #cccccc;
+ border-bottom: 1px solid #cccccc;
+ height: 12px;
+}
+
+.row-info-top {
+ line-height: 110%;
+ border: 1px solid #cccccc;
+ border-right: 0;
+ height: 12px;
+}
+
+.time-info, .row-info-top {
+ color: #888888;
+}
+
+.read-bar {
+ height: 6px;
+ background-color: #bbbbbb;
+ margin-bottom: 2px;
+}
diff --git a/client/components/Reader/share/BookParser.js b/client/components/Reader/share/BookParser.js
index 025880df..259e0d28 100644
--- a/client/components/Reader/share/BookParser.js
+++ b/client/components/Reader/share/BookParser.js
@@ -3,6 +3,7 @@ import sax from '../../../../server/core/sax';
import * as utils from '../../../share/utils';
const maxImageLineCount = 100;
+const maxParaTextLength = 10000;
// defaults
const defaultSettings = {
@@ -226,13 +227,25 @@ export default class BookParser {
paraOffset += len;
};
- const growParagraph = (text, len) => {
+ const growParagraph = (text, len, textRaw) => {
if (paraIndex < 0) {
newParagraph();
growParagraph(text, len);
return;
}
+ //ограничение на размер куска текста в параграфе
+ if (textRaw && textRaw.length > maxParaTextLength) {
+ while (textRaw.length > 0) {
+ const textPart = textRaw.substring(0, maxParaTextLength);
+ textRaw = textRaw.substring(maxParaTextLength);
+
+ newParagraph();
+ growParagraph(textPart, textPart.length);
+ }
+ return;
+ }
+
if (inSubtitle) {
curSubtitle.title += text;
} else if (inTitle) {
@@ -536,7 +549,7 @@ export default class BookParser {
tClose += (center ? '' : '');
if (text != ' ')
- growParagraph(`${tOpen}${text}${tClose}`, text.length);
+ growParagraph(`${tOpen}${text}${tClose}`, text.length, text);
else
growParagraph(' ', 1);
}