java/sql-vyuka/web/hlavni.js
changeset 60 d6930d123889
parent 58 bbc73f664363
child 61 9e60af36a9df
     1.1 --- a/java/sql-vyuka/web/hlavni.js	Tue Jul 21 21:17:14 2009 +0200
     1.2 +++ b/java/sql-vyuka/web/hlavni.js	Sun Jul 26 23:03:28 2009 +0200
     1.3 @@ -41,9 +41,9 @@
     1.4   **/
     1.5  function zobraz(text, kde) {
     1.6      if (kde == vstupniPole) {
     1.7 -        document.getElementById('aplikace').vstupniPole.value = text;
     1.8 +        document.getElementById('aplikace').vstupniPole.value = vratEntity(text);
     1.9      } else if (kde == stavovePole)  {
    1.10 -        document.getElementById('aplikace').stavovePole.value = text;
    1.11 +        document.getElementById('aplikace').stavovePole.value = vratEntity(text);
    1.12      } else {
    1.13          document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
    1.14      }
    1.15 @@ -129,6 +129,7 @@
    1.16                  urlOdkaz['pruvodce']  = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId);
    1.17                  ulozURL();
    1.18                  sestavStromy();
    1.19 +                aktivujPruvodce();
    1.20              }
    1.21          };
    1.22          ajax.send(null);
    1.23 @@ -184,4 +185,35 @@
    1.24  
    1.25  window.onload = function() {
    1.26      nactiURL();
    1.27 -}
    1.28 \ No newline at end of file
    1.29 +}
    1.30 +
    1.31 +/**
    1.32 + * Přidá <pre> elementům v průvodci akci onclick,
    1.33 + * která se postará o načtení obsahu daného elementu do vstupního pole,
    1.34 + * aby uživatel tento kód nemusel opisovat.
    1.35 + */
    1.36 +function aktivujPruvodce() {
    1.37 +    elementy = document.getElementsByTagName("pre");
    1.38 +    for (var i = 0; i < elementy.length; i++) {
    1.39 +        if (elementy[i].parentNode.id == napovedniPole) {
    1.40 +            elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value;
    1.41 +            elementy[i].onclick = function() {
    1.42 +                zobraz(this.innerHTML, 'vstupniPole');
    1.43 +                return true;
    1.44 +            };
    1.45 +        }
    1.46 +    }
    1.47 +}
    1.48 +
    1.49 +/**
    1.50 + * Převede HTML entity zpět na znaky,
    1.51 + * aby se správně zobrazily ve vstupním nebo stavovém poli.
    1.52 + */
    1.53 +function vratEntity (text) {
    1.54 +    var vysledek = text;
    1.55 +    vysledek = vysledek.replace('&lt;', '<', 'g');
    1.56 +    vysledek = vysledek.replace('&gt;', '>', 'g');
    1.57 +    vysledek = vysledek.replace('&amp;', '&', 'g');
    1.58 +    return vysledek;
    1.59 +
    1.60 +}