nodebb/public/src/modules/composer/controls.js

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;
});