| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 | 
							- /**
 
-  * B、I、sub、super命令支持
 
-  * @file
 
-  * @since 1.2.6.1
 
-  */
 
- UE.plugins['basestyle'] = function(){
 
-     /**
 
-      * 字体加粗
 
-      * @command bold
 
-      * @param { String } cmd 命令字符串
 
-      * @remind 对已加粗的文本内容执行该命令, 将取消加粗
 
-      * @method execCommand
 
-      * @example
 
-      * ```javascript
 
-      * //editor是编辑器实例
 
-      * //对当前选中的文本内容执行加粗操作
 
-      * //第一次执行, 文本内容加粗
 
-      * editor.execCommand( 'bold' );
 
-      *
 
-      * //第二次执行, 文本内容取消加粗
 
-      * editor.execCommand( 'bold' );
 
-      * ```
 
-      */
 
-     /**
 
-      * 字体倾斜
 
-      * @command italic
 
-      * @method execCommand
 
-      * @param { String } cmd 命令字符串
 
-      * @remind 对已倾斜的文本内容执行该命令, 将取消倾斜
 
-      * @example
 
-      * ```javascript
 
-      * //editor是编辑器实例
 
-      * //对当前选中的文本内容执行斜体操作
 
-      * //第一次操作, 文本内容将变成斜体
 
-      * editor.execCommand( 'italic' );
 
-      *
 
-      * //再次对同一文本内容执行, 则文本内容将恢复正常
 
-      * editor.execCommand( 'italic' );
 
-      * ```
 
-      */
 
-     /**
 
-      * 下标文本,与“superscript”命令互斥
 
-      * @command subscript
 
-      * @method execCommand
 
-      * @remind  把选中的文本内容切换成下标文本, 如果当前选中的文本已经是下标, 则该操作会把文本内容还原成正常文本
 
-      * @param { String } cmd 命令字符串
 
-      * @example
 
-      * ```javascript
 
-      * //editor是编辑器实例
 
-      * //对当前选中的文本内容执行下标操作
 
-      * //第一次操作, 文本内容将变成下标文本
 
-      * editor.execCommand( 'subscript' );
 
-      *
 
-      * //再次对同一文本内容执行, 则文本内容将恢复正常
 
-      * editor.execCommand( 'subscript' );
 
-      * ```
 
-      */
 
-     /**
 
-      * 上标文本,与“subscript”命令互斥
 
-      * @command superscript
 
-      * @method execCommand
 
-      * @remind 把选中的文本内容切换成上标文本, 如果当前选中的文本已经是上标, 则该操作会把文本内容还原成正常文本
 
-      * @param { String } cmd 命令字符串
 
-      * @example
 
-      * ```javascript
 
-      * //editor是编辑器实例
 
-      * //对当前选中的文本内容执行上标操作
 
-      * //第一次操作, 文本内容将变成上标文本
 
-      * editor.execCommand( 'superscript' );
 
-      *
 
-      * //再次对同一文本内容执行, 则文本内容将恢复正常
 
-      * editor.execCommand( 'superscript' );
 
-      * ```
 
-      */
 
-     var basestyles = {
 
-             'bold':['strong','b'],
 
-             'italic':['em','i'],
 
-             'subscript':['sub'],
 
-             'superscript':['sup']
 
-         },
 
-         getObj = function(editor,tagNames){
 
-             return domUtils.filterNodeList(editor.selection.getStartElementPath(),tagNames);
 
-         },
 
-         me = this;
 
-     //添加快捷键
 
-     me.addshortcutkey({
 
-         "Bold" : "ctrl+66",//^B
 
-         "Italic" : "ctrl+73", //^I
 
-         "Underline" : "ctrl+85"//^U
 
-     });
 
-     me.addInputRule(function(root){
 
-         utils.each(root.getNodesByTagName('b i'),function(node){
 
-             switch (node.tagName){
 
-                 case 'b':
 
-                     node.tagName = 'strong';
 
-                     break;
 
-                 case 'i':
 
-                     node.tagName = 'em';
 
-             }
 
-         });
 
-     });
 
-     for ( var style in basestyles ) {
 
-         (function( cmd, tagNames ) {
 
-             me.commands[cmd] = {
 
-                 execCommand : function( cmdName ) {
 
-                     var range = me.selection.getRange(),obj = getObj(this,tagNames);
 
-                     if ( range.collapsed ) {
 
-                         if ( obj ) {
 
-                             var tmpText =  me.document.createTextNode('');
 
-                             range.insertNode( tmpText ).removeInlineStyle( tagNames );
 
-                             range.setStartBefore(tmpText);
 
-                             domUtils.remove(tmpText);
 
-                         } else {
 
-                             var tmpNode = range.document.createElement( tagNames[0] );
 
-                             if(cmdName == 'superscript' || cmdName == 'subscript'){
 
-                                 tmpText = me.document.createTextNode('');
 
-                                 range.insertNode(tmpText)
 
-                                     .removeInlineStyle(['sub','sup'])
 
-                                     .setStartBefore(tmpText)
 
-                                     .collapse(true);
 
-                             }
 
-                             range.insertNode( tmpNode ).setStart( tmpNode, 0 );
 
-                         }
 
-                         range.collapse( true );
 
-                     } else {
 
-                         if(cmdName == 'superscript' || cmdName == 'subscript'){
 
-                             if(!obj || obj.tagName.toLowerCase() != cmdName){
 
-                                 range.removeInlineStyle(['sub','sup']);
 
-                             }
 
-                         }
 
-                         obj ? range.removeInlineStyle( tagNames ) : range.applyInlineStyle( tagNames[0] );
 
-                     }
 
-                     range.select();
 
-                 },
 
-                 queryCommandState : function() {
 
-                    return getObj(this,tagNames) ? 1 : 0;
 
-                 }
 
-             };
 
-         })( style, basestyles[style] );
 
-     }
 
- };
 
 
  |