Changeset 60:d6930d123889

Show
Ignore:
Timestamp:
07/26/09 23:03:28 (15 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

Uživatel může kliknout myší na SQL kód v průvodci a snadno si ho překopírovat do vstupního pole (aby nemusel opisovat příklady).
No jo, ale to budou ti uživatelé úplně líní a nic se nenaučí :-).

Location:
java/sql-vyuka
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/preklady_cs.properties

    r44 r60  
    1616js.probihaSQL=Prob\u00EDh\u00E1 zpracov\u00E1n\u00ED SQL p\u0159\u00EDkazu\u2026 
    1717js.probihaHistorie=Na\u010D\u00EDt\u00E1 se historie\u2026 
     18js.klikniProNacteniPrikladu=Klikni pro na\u010Dten\u00ED p\u0159\u00EDkaldu. 
    1819 
    1920licence.program=Program je vyd\u00E1n pod licenc\u00ED: 
  • java/sql-vyuka/web/WEB-INF/casti/aplikace.jspx

    r50 r60  
    108108            <textarea name="probihaSQL" cols="128" rows="1"><fmt:message key="js.probihaSQL"/></textarea> 
    109109            <textarea name="probihaHistorie" cols="128" rows="1"><fmt:message key="js.probihaHistorie"/></textarea> 
     110            <textarea name="klikniProNacteniPrikladu" cols="128" rows="1"><fmt:message key="js.klikniProNacteniPrikladu"/></textarea> 
    110111        </fieldset> 
    111112    </form> 
  • java/sql-vyuka/web/hlavni.js

    r58 r60  
    4242function zobraz(text, kde) { 
    4343    if (kde == vstupniPole) { 
    44         document.getElementById('aplikace').vstupniPole.value = text; 
     44        document.getElementById('aplikace').vstupniPole.value = vratEntity(text); 
    4545    } else if (kde == stavovePole)  { 
    46         document.getElementById('aplikace').stavovePole.value = text; 
     46        document.getElementById('aplikace').stavovePole.value = vratEntity(text); 
    4747    } else { 
    4848        document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>'; 
     
    130130                ulozURL(); 
    131131                sestavStromy(); 
     132                aktivujPruvodce(); 
    132133            } 
    133134        }; 
     
    186187    nactiURL(); 
    187188} 
     189 
     190/** 
     191 * Přidá <pre> elementům v průvodci akci onclick, 
     192 * která se postará o načtení obsahu daného elementu do vstupního pole, 
     193 * aby uživatel tento kód nemusel opisovat. 
     194 */ 
     195function aktivujPruvodce() { 
     196    elementy = document.getElementsByTagName("pre"); 
     197    for (var i = 0; i < elementy.length; i++) { 
     198        if (elementy[i].parentNode.id == napovedniPole) { 
     199            elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value; 
     200            elementy[i].onclick = function() { 
     201                zobraz(this.innerHTML, 'vstupniPole'); 
     202                return true; 
     203            }; 
     204        } 
     205    } 
     206} 
     207 
     208/** 
     209 * Převede HTML entity zpět na znaky, 
     210 * aby se správně zobrazily ve vstupním nebo stavovém poli. 
     211 */ 
     212function vratEntity (text) { 
     213    var vysledek = text; 
     214    vysledek = vysledek.replace('&lt;', '<', 'g'); 
     215    vysledek = vysledek.replace('&gt;', '>', 'g'); 
     216    vysledek = vysledek.replace('&amp;', '&', 'g'); 
     217    return vysledek; 
     218 
     219}