File: /www/wwwroot/bs.kntsleep.com/system/extend/ueditor/_src/plugins/convertcase.js
/**
* 大小写转换
* @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();
}
};