1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /**
- * 纯文本粘贴插件
- * @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
- };
- };
|