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

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

View File

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

View File

@@ -41,6 +41,8 @@ export function formatDate(d, format) {
`${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}`; `${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}`;
case 'coDate': case 'coDate':
return `${d.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, '0')}-${d.getDate().toString().padStart(2, '0')}`; 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 { } else {
isText = opts.isText; isText = opts.isText;
} }
const {cutTitle} = opts; let {cutTitle} = opts;
let titleInfo = {}; let titleInfo = {};
let desc = {_n: 'description', 'title-info': 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; inTitle = true;
if (tag == 'cut-title')
cutTitle = true;
}
if (tag == 'fb2-image') { if (tag == 'fb2-image') {
inImage = true; inImage = true;
@@ -153,7 +156,7 @@ class ConvertHtml extends ConvertBase {
} }
} }
if (tag == 'title') if (tag == 'title' || tag == 'cut-title')
inTitle = false; inTitle = false;
if (tag == 'fb2-image') if (tag == 'fb2-image')