Исправление автоформирования заголовка при вставке из буфера обмена

This commit is contained in:
Book Pauk
2019-06-23 16:29:36 +07:00
parent d9c389812a
commit a4b56b477d
4 changed files with 18 additions and 9 deletions

View File

@@ -26,6 +26,7 @@ import Component from 'vue-class-component';
import Window from '../../../share/Window.vue';
import _ from 'lodash';
import * as utils from '../../../../share/utils';
export default @Component({
components: {
@@ -42,7 +43,7 @@ class PasteTextPage extends Vue {
this.$refs.textArea.focus();
}
getNonEmptyLine(text, count) {
getNonEmptyLine3words(text, count) {
let result = '';
const lines = text.split("\n");
let i = 0;
@@ -56,21 +57,23 @@ class PasteTextPage extends Vue {
}
i++;
}
return result;
result = result.trim().split(' ');
return result.slice(0, 3).join(' ');
}
calcTitle(event) {
if (this.bookTitle == '') {
let text = event.clipboardData.getData('text');
this.bookTitle = _.compact([
this.getNonEmptyLine(text, 1),
this.getNonEmptyLine(text, 2)
this.bookTitle = `Из буфера обмена ${utils.formatDate(new Date(), 'noDate')}: ` + _.compact([
this.getNonEmptyLine3words(text, 1),
this.getNonEmptyLine3words(text, 2)
]).join(' - ');
}
}
loadBuffer() {
this.$emit('load-buffer', {buffer: `<title>${this.bookTitle}</title>${this.$refs.textArea.value}`});
this.$emit('load-buffer', {buffer: `<cut-title>${this.bookTitle}</cut-title>${this.$refs.textArea.value}`});
this.close();
}

View File

@@ -9,6 +9,7 @@ export const versionHistory = [
<li>исправлен баг - не распознавались некоторые книги формата fb2 в кодировке utf8</li>
<li>добавлены новые варианты анимации перелистывания</li>
<li>улучшены прогрессбары</li>
<li>исправления недочетов</li>
</ul>
`
},

View File

@@ -41,6 +41,8 @@ export function formatDate(d, format) {
`${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}`;
case 'coDate':
return `${d.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, '0')}-${d.getDate().toString().padStart(2, '0')}`;
case 'noDate':
return `${d.getDate().toString().padStart(2, '0')}.${(d.getMonth() + 1).toString().padStart(2, '0')}.${d.getFullYear()}`;
}
}

View File

@@ -28,7 +28,7 @@ class ConvertHtml extends ConvertBase {
} else {
isText = opts.isText;
}
const {cutTitle} = opts;
let {cutTitle} = opts;
let titleInfo = {};
let desc = {_n: 'description', 'title-info': titleInfo};
@@ -123,8 +123,11 @@ class ConvertHtml extends ConvertBase {
}
}
if (tag == 'title')
if (tag == 'title' || tag == 'cut-title') {
inTitle = true;
if (tag == 'cut-title')
cutTitle = true;
}
if (tag == 'fb2-image') {
inImage = true;
@@ -153,7 +156,7 @@ class ConvertHtml extends ConvertBase {
}
}
if (tag == 'title')
if (tag == 'title' || tag == 'cut-title')
inTitle = false;
if (tag == 'fb2-image')