46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
/*global define*/
|
|
|
|
define('composer/controls', function() {
|
|
var controls = {};
|
|
|
|
/*************************************************/
|
|
/* Rich Textarea Controls */
|
|
/*************************************************/
|
|
controls.insertIntoTextarea = function(textarea, value) {
|
|
var $textarea = $(textarea);
|
|
var currentVal = $textarea.val();
|
|
|
|
$textarea.val(
|
|
currentVal.slice(0, textarea.selectionStart) +
|
|
value +
|
|
currentVal.slice(textarea.selectionStart)
|
|
);
|
|
};
|
|
|
|
controls.wrapSelectionInTextareaWith = function(textarea, leading, trailing){
|
|
if(trailing === undefined){
|
|
trailing = leading;
|
|
}
|
|
|
|
var $textarea = $(textarea);
|
|
var currentVal = $textarea.val();
|
|
|
|
$textarea.val(
|
|
currentVal.slice(0, textarea.selectionStart) +
|
|
leading +
|
|
currentVal.slice(textarea.selectionStart, textarea.selectionEnd) +
|
|
trailing +
|
|
currentVal.slice(textarea.selectionEnd)
|
|
);
|
|
};
|
|
|
|
controls.updateTextareaSelection = function(textarea, start, end){
|
|
textarea.setSelectionRange(start, end);
|
|
$(textarea).focus();
|
|
};
|
|
|
|
|
|
return controls;
|
|
}); |