web/data/cubicweb.massmailing.js
author Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
Tue, 05 Jan 2010 22:11:37 +0100
branchstable
changeset 4210 9d9be21640ac
parent 2385 8fa16dc4b8c8
permissions -rw-r--r--
[forms] fix multiple edit bug introduced by changeset cebdf8ee5ad7 Changeset cebdf8ee5ad7 assumed that edited entity was either explicitly passed to the form or found in first row / first col of the resultset because of the one_line_rset() selector. But one_line_rset() is actually trickier : the selector returns 1 if the resultset has more than one row **if** an explicit row is specified during selection process. This is exactly what is done in the 'muledit' form : for row in xrange(len(self.rset)): form = self.vreg['forms'].select('edition', self.req, rset=self.rset, row=row, #... This changeset thus takes row in consideration to find edited entity if 'row' was explcitly specified.


function insertText(text, areaId) {
    var textarea = jQuery('#' + areaId);
    if (document.selection) { // IE
        var selLength;
        textarea.focus();
        sel = document.selection.createRange();
        selLength = sel.text.length;
        sel.text = text;
        sel.moveStart('character', selLength-text.length);
        sel.select();
    } else if (textarea.selectionStart || textarea.selectionStart == '0') { // mozilla
        var startPos = textarea.selectionStart;
        var endPos = textarea.selectionEnd;
	// insert text so that it replaces the [startPos, endPos] part
        textarea.value = textarea.value.substring(0,startPos) + text + textarea.value.substring(endPos,textarea.value.length);
	// set cursor pos at the end of the inserted text
        textarea.selectionStart = textarea.selectionEnd = startPos+text.length;
        textarea.focus();
    } else { // safety belt for other browsers
        textarea.value += text;
    }
}