mdui.editor
Version:
Material Design 样式的富文本编辑器
42 lines (41 loc) • 1.13 kB
JavaScript
import { replaceHtmlSymbol } from './str';
/**
* 获取剪贴板数据
* @param event
*/
function getPasteData(event) {
const clipboardData = event.clipboardData ||
// @ts-ignore
(event.originalEvent && event.originalEvent.clipboardData);
let pasteText = '';
let pasteHtml = '';
if (clipboardData === null) {
// @ts-ignore
pasteText = window.clipboardData && window.clipboardData.getData('text');
}
else {
pasteText = clipboardData.getData('text/plain');
pasteHtml = clipboardData.getData('text/html');
}
return { pasteText, pasteHtml };
}
/**
* 获取粘贴的 HTML
* @param event
*/
export function getPasteHTML(event) {
let { pasteText, pasteHtml } = getPasteData(event);
if (!pasteHtml && pasteText) {
pasteText = replaceHtmlSymbol(pasteText);
pasteHtml = pasteText ? `<p>${pasteText}</p>` : '<p><br></p>';
}
return pasteHtml;
}
/**
* 获取粘贴的纯文本
* @param event
*/
export function getPasteText(event) {
const { pasteText } = getPasteData(event);
return replaceHtmlSymbol(pasteText);
}