1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * 大小写转换
- * @file
- * @since 1.2.6.1
- */
- /**
- * 把选区内文本变大写,与“tolowercase”命令互斥
- * @command touppercase
- * @method execCommand
- * @param { String } cmd 命令字符串
- * @example
- * ```javascript
- * editor.execCommand( 'touppercase' );
- * ```
- */
- /**
- * 把选区内文本变小写,与“touppercase”命令互斥
- * @command tolowercase
- * @method execCommand
- * @param { String } cmd 命令字符串
- * @example
- * ```javascript
- * editor.execCommand( 'tolowercase' );
- * ```
- */
- UE.commands['touppercase'] =
- UE.commands['tolowercase'] = {
- execCommand:function (cmd) {
- var me = this;
- var rng = me.selection.getRange();
- if(rng.collapsed){
- return rng;
- }
- var bk = rng.createBookmark(),
- bkEnd = bk.end,
- filterFn = function( node ) {
- return !domUtils.isBr(node) && !domUtils.isWhitespace( node );
- },
- curNode = domUtils.getNextDomNode( bk.start, false, filterFn );
- while ( curNode && (domUtils.getPosition( curNode, bkEnd ) & domUtils.POSITION_PRECEDING) ) {
- if ( curNode.nodeType == 3 ) {
- curNode.nodeValue = curNode.nodeValue[cmd == 'touppercase' ? 'toUpperCase' : 'toLowerCase']();
- }
- curNode = domUtils.getNextDomNode( curNode, true, filterFn );
- if(curNode === bkEnd){
- break;
- }
- }
- rng.moveToBookmark(bk).select();
- }
- };
|