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