Merge pull request #2330 from syuilo/patch

Clean up
This commit is contained in:
syuilo 2018-08-19 00:52:10 +09:00 committed by GitHub
commit 043b66f5da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 6 deletions

View File

@ -5,6 +5,10 @@ import config from '../config';
import { INote } from '../models/note'; import { INote } from '../models/note';
import { TextElement } from './parse'; import { TextElement } from './parse';
function intersperse<T>(sep: T, xs: T[]): T[] {
return [].concat(...xs.map(x => [sep, x])).slice(1);
}
const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers: INote['mentionedRemoteUsers']) => void } = { const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers: INote['mentionedRemoteUsers']) => void } = {
bold({ document }, { bold }) { bold({ document }, { bold }) {
const b = document.createElement('b'); const b = document.createElement('b');
@ -80,12 +84,9 @@ const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers:
}, },
text({ document }, { content }) { text({ document }, { content }) {
const t = content.split('\n'); const nodes = (content as string).split('\n').map(x => document.createTextNode(x));
for (let i = 0; i < t.length; i++) { for (const x of intersperse(document.createElement('br'), nodes)) {
document.body.appendChild(document.createTextNode(t[i])); document.body.appendChild(x);
if (i != t.length - 1) {
document.body.appendChild(document.createElement('br'));
}
} }
}, },