File: /www/wwwroot/bs.kntsleep.com/system/extend/ueditor/_src/plugins/puretxtpaste.js
/**
* 纯文本粘贴插件
* @file
* @since 1.2.6.1
*/
UE.plugins["pasteplain"] = function() {
var me = this;
me.setOpt({
pasteplain: false,
filterTxtRules: (function() {
function transP(node) {
node.tagName = "p";
node.setStyle();
}
function removeNode(node) {
node.parentNode.removeChild(node, true);
}
return {
//直接删除及其字节点内容
"-": "script style object iframe embed input select",
p: { $: {} },
br: { $: {} },
div: function(node) {
var tmpNode,
p = UE.uNode.createElement("p");
while ((tmpNode = node.firstChild())) {
if (tmpNode.type == "text" || !UE.dom.dtd.$block[tmpNode.tagName]) {
p.appendChild(tmpNode);
} else {
if (p.firstChild()) {
node.parentNode.insertBefore(p, node);
p = UE.uNode.createElement("p");
} else {
node.parentNode.insertBefore(tmpNode, node);
}
}
}
if (p.firstChild()) {
node.parentNode.insertBefore(p, node);
}
node.parentNode.removeChild(node);
},
ol: removeNode,
ul: removeNode,
dl: removeNode,
dt: removeNode,
dd: removeNode,
li: removeNode,
caption: transP,
th: transP,
tr: transP,
h1: transP,
h2: transP,
h3: transP,
h4: transP,
h5: transP,
h6: transP,
td: function(node) {
//没有内容的td直接删掉
var txt = !!node.innerText();
if (txt) {
node.parentNode.insertAfter(
UE.uNode.createText(" "),
node
);
}
node.parentNode.removeChild(node, node.innerText());
}
};
})()
});
//暂时这里支持一下老版本的属性
var pasteplain = me.options.pasteplain;
/**
* 启用或取消纯文本粘贴模式
* @command pasteplain
* @method execCommand
* @param { String } cmd 命令字符串
* @example
* ```javascript
* editor.queryCommandState( 'pasteplain' );
* ```
*/
/**
* 查询当前是否处于纯文本粘贴模式
* @command pasteplain
* @method queryCommandState
* @param { String } cmd 命令字符串
* @return { int } 如果处于纯文本模式,返回1,否则,返回0
* @example
* ```javascript
* editor.queryCommandState( 'pasteplain' );
* ```
*/
me.commands["pasteplain"] = {
queryCommandState: function() {
return pasteplain ? 1 : 0;
},
execCommand: function() {
pasteplain = !pasteplain | 0;
},
notNeedUndo: 1
};
};