π
<-

Tab-autocompletion sur le chat

Tout ce qui concerne le site en lui-même

Tab-autocompletion sur le chat

Unread postby Adriweb » 26 Mar 2015, 03:09

Nouvelle petite fonctionnalité sur le chat (shootbox et pleine page):

Comme sur beaucoup de logiciels de chat, vous pouvez désormais appuyer sur la touche
tab
de votre clavier pour autocompléter les noms des personnes présentes sur le chat dont vous tapez le début. (Le code est simpliste et ne prendra en compte que la 1ère occurence trouvée)

Si ça ne semble pas marcher pour vous, videz le cache de votre navigateur puis retentez.

Pour les curieux:
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
ajaxChat.tabAutoComplete = function(a) {
    if (9 == a.keyCode) {
        var inputID = document.getElementById("inputField") ? "inputField" : "ajaxChatInputField";
        var wordBeforeTab = getWordBeforeCursor(inputID).trim();
        if (wordBeforeTab.length) {
            var completion = ajaxChat.userNamesList.filter(/./.test.bind(new RegExp("^" + wordBeforeTab, 'i')))[0];
            if (completion !== undefined) insertAtCaret(inputID, completion.substr(wordBeforeTab.length) + ' ');
        }
        try{a.preventDefault()}catch(b){a.returnValue=!1} return false;
    }
};

Et les helpers (merci StackOverflow, comme d'hab):
Code: Select all
function GetCaretPosition(ctrl) {
    var CaretPos = 0; // IE Support
    if (document.selection) {
        ctrl.focus();
        var Sel = document.selection.createRange();
        Sel.moveStart('character', -ctrl.value.length);
        CaretPos = Sel.text.length;
    }
    // Firefox support
    else if (ctrl.selectionStart || ctrl.selectionStart == '0')
        CaretPos = ctrl.selectionStart;
    return (CaretPos);
}

function ReturnWord(text, caretPos) {
    var index = text.indexOf(caretPos);
    var preText = text.substring(0, caretPos);
    if (preText.indexOf(" ") > 0) {
        var words = preText.split(" ");
        return words[words.length - 1]; //return last word
    } else {
        return preText;
    }
}

function getWordBeforeCursor(el) {
    var text = document.getElementById(el);
    var caretPos = GetCaretPosition(text);
    return ReturnWord(text.value, caretPos);
}

function insertAtCaret(areaId, text) {
    var txtarea = document.getElementById(areaId);
    var scrollPos = txtarea.scrollTop;
    var strPos = 0;
    var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?
        "ff" : (document.selection ? "ie" : false));
    if (br == "ie") {
        txtarea.focus();
        var range = document.selection.createRange();
        range.moveStart('character', -txtarea.value.length);
        strPos = range.text.length;
    } else if (br == "ff") strPos = txtarea.selectionStart;

    var front = (txtarea.value).substring(0, strPos);
    var back = (txtarea.value).substring(strPos, txtarea.value.length);
    txtarea.value = front + text + back;
    strPos = strPos + text.length;
    if (br == "ie") {
        txtarea.focus();
        var range = document.selection.createRange();
        range.moveStart('character', -txtarea.value.length);
        range.moveStart('character', strPos);
        range.moveEnd('character', 0);
        range.select();
    } else if (br == "ff") {
        txtarea.selectionStart = strPos;
        txtarea.selectionEnd = strPos;
        txtarea.focus();
    }
    txtarea.scrollTop = scrollPos;
}

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Tab-autocompletion sur le chat

Unread postby Hamza.S » 26 Mar 2015, 15:48

ça marche d'enfer
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: Tab-autocompletion sur le chat

Unread postby Victor D » 26 Mar 2015, 16:59

Oui, mais bon le plus simple c'est de cliquer sur le pseudo lorsque cette personne parle, mais bon il est vrai que cette nouveauté est pratique pour les personnes qui restent muettes alors quelles sont tout de même connecté au chat ;)

Et c'est d'autant plus pratique sur le petit chat ;)

Donc merci et bravo :bj:



Le site pour réussir ton exam !
Annales, corrigés, info, épreuves, calendrier...
Deviens V.I.P ! ;)
Envie d'être repéré facilement sur le forum et sur le chat, et d'avoir des fonctionnalités spéciales ?
Plus d'infos : premium.php
Tu aimes TI-Planet.org ?


Alors rendez-vous sur facebook, pour toutes les actus, toutes les news, et bien plus encore...
Ce site t'a aidé ?

PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !

Alors aide le à ton tour !
Ce site est géré bénévolement par L'association UPECS, mais tu peux aider à payer le site, les serveurs...
User avatar
Victor DModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 13.1%
 
Posts: 1581
Images: 98
Joined: 28 Oct 2014, 22:02
Location: France
Gender: Male
Calculator(s):
MyCalcs profile


Return to Choses relatives à TI-Planet

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
793 utilisateurs:
>779 invités
>8 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)