Code: 3
Inserir texto a partir da posição x:y em textarea
by Lucas Fontes Gaspareto
HTML
<select id="macros">
<option>[NOMECLIENTE]</option>
<option>[CPF]</option>
<option>[TELEFONE]</option>
<option>[TELEFONE2]</option>
</select>
<button type="button" id="inserirMacro">Inserir</button>
<br>
<textarea rows="6" id="campo" readonly=readonly></textarea>
CSS
#campo {
margin: 2px;
cursor: pointer;
font-size: 20px;
outline: none;
width: 400px;
}
JavaScript
$("#inserirMacro").click(function() {
// Pega o macro selecionado.
var macro = $("#macros :selected").text();
// Inseri o macro no começo do campo textarea
$('#campo').append(macro);
});
// Pega as coordenadas do click no textArea.
$("#campo").mousedown(function(e) {
var offleft = this.offsetLeft;
var offtop = this.offsetTop;
var realX = e.clientX - offleft;
var realY = e.clientY - offtop;
var numRows = (realY / 20).toFixed();
var numCols = (realX / 12).toFixed();
var wrapRows='';
var wrapCols='';
for(var i = 1; i < numRows; i++) {
if(i > 0) {
wrapRows = wrapRows + '\n';
}
console.log(i);
}
for(var i = 1; i < numCols; i++) {
if(i > 0) {
wrapCols = wrapCols + ' ';
}
console.log(i);
}
if(numRows < 7)
this.value = wrapRows + wrapCols + document.getElementById('macros').value;
});