Changeset 22:e56b79cc18a9

Show
Ignore:
Timestamp:
05/30/09 15:35:10 (9 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

JavaScript?: lokalizace a zjednodušení.

Location:
java/sql-vyuka
Files:
5 modified

Legend:

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

    r18 r22  
    1414vychozi.vysledek=V\u00EDtejte v programu SQL v\u00FDuka! 
    1515vychozi.napoveda=Tady bude n\u00E1pov\u011Bda 
     16 
     17js.nepodporovany=V\u00E1\u0161 prohl\u00ED\u017Ee\u010D nepodporuje AJAX. Po\u0159i\u010Fte si m\u00E9n\u011B zastaral\u00FD prohl\u00ED\u017Ee\u010D, nejl\u00E9pe Firefox. 
     18js.probihaSQL=Prob\u00EDh\u00E1 zpracov\u00E1n\u00ED SQL p\u0159\u00EDkazu\u2026 
     19js.probihaHistorie=Na\u010D\u00EDt\u00E1 se historie\u2026 
  • java/sql-vyuka/web/WEB-INF/casti/aplikace.jspx

    r20 r22  
    66    <fmt:setBundle basename="cz.frantovo.sql.vyuka.preklady" scope="application"/> 
    77 
     8    <!-- Logo programu --> 
    89    <div id="zahlavi"><h1><fmt:message key="nazev"/></h1></div> 
    910 
    1011    <div id="bloky"> 
     12        <!-- Nápověda --> 
    1113        <div class ="blok" id="napoveda"> 
    1214            <h2><fmt:message key="blok.napoveda"/></h2> 
     
    1517            </div> 
    1618        </div> 
    17  
    18  
    1919        <div id="io"> 
    20  
     20            <!-- Zadávání SQL příkazů --> 
    2121            <div class ="blok" id="vstup"> 
    2222                <h2><fmt:message key="blok.zadavani"/></h2> 
     
    2828                                      rows="100" 
    2929                                      cols="1000" 
    30                                       onkeypress="javascript:checkTab(event);"><fmt:message key="vychozi.sql"/></textarea> 
     30                                      onkeypress="javascript:zpracujTabulatory(event);"><fmt:message key="vychozi.sql"/></textarea> 
    3131                            <input  id="stavovePole" 
    3232                                    name="stavovePole" 
     
    4848                </div> 
    4949            </div> 
    50  
    51  
    52  
    53  
    54  
     50            <!-- Zobrazování výstupu --> 
    5551            <div class ="blok" id="vystup"> 
    5652                <h2><fmt:message key="blok.vysledek"/></h2> 
     
    6258            </div> 
    6359        </div> 
     60    </div> 
    6461 
    65     </div> 
     62    <!-- Načteme si lokalizované texty do skrytého formuláře, aby je mohl používat JavaScript --> 
     63    <form action="#" name="lokalizace" id="lokalizace"> 
     64        <textarea name="nepodporovany"><fmt:message key="js.nepodporovany"/></textarea> 
     65        <textarea name="probihaSQL"><fmt:message key="js.probihaSQL"/></textarea> 
     66        <textarea name="probihaHistorie"><fmt:message key="js.probihaHistorie"/></textarea> 
     67    </form> 
    6668</jsp:root> 
  • java/sql-vyuka/web/hlavni.js

    r21 r22  
    1616        return new ActiveXObject("Microsoft.XMLHTTP"); 
    1717    } else { 
    18         alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox."); 
     18        alert(document.lokalizace.nepodporovany.value); 
    1919        return null; 
    2020    } 
    2121} 
    2222 
     23 
    2324/** Náš AJAXový objekt. */ 
    2425var ajax = getXmlHttpRequestObject(); 
     26 
    2527 
    2628/** 
     
    3234} 
    3335 
     36 
    3437/** 
    3538 * Zobrazí text na požadovaném místě. 
    36  * @param text text k zobrazení 
    37  * @param kde id prvku, do kterého se má text vypsat 
     39 * @param text text k zobrazení. V případě formulářů prostý text, v ostatních případech HTML text. 
     40 * @param kde id prvku, do kterého se má text vypsat. 
    3841 **/ 
    3942function zobraz(text, kde) { 
     
    4750} 
    4851 
    49 /** 
    50  * Zobrazí text ve výstupním poli. 
    51  * @param text HTML text k zobrazení 
    52  **/ 
    53 function zobrazVystup(text) { 
    54     zobraz(text, vystupniPole); 
    55 } 
    56  
    57 /** 
    58  * Zobrazí text ve vstupním poli. 
    59  * Požijeme pro načtení SQL příkazu z historie. 
    60  * @param text prostý text k zobrazení 
    61  **/ 
    62 function zobrazVstup(text) { 
    63     zobraz(text, vstupniPole); 
    64 } 
    65  
    66 /** 
    67  * Zobrazí text ve vstupním poli. 
    68  * Požijeme pro načtení SQL příkazu z historie. 
    69  * @param text prostý text k zobrazení 
    70  **/ 
    71 function zobrazStav(text) { 
    72     zobraz(text, stavovePole); 
    73 } 
    74  
    75 /** 
    76  * Zobrazí text ve poli pro nápovědu. 
    77  * @param text text k zobrazení 
    78  **/ 
    79 function zobrazNapovedu(text) { 
    80     zobraz(text, napovedniPole); 
    81 } 
    8252 
    8353/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ 
    8454function ajaxVykonatSQL() { 
    8555    if (ajax.readyState == 4 || ajax.readyState == 0) { 
    86         zobrazStav('Probíhá zpracování SQL příkazu…'); 
     56        zobraz(document.lokalizace.probihaSQL.value, stavovePole); 
    8757        ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true); 
    8858        ajax.onreadystatechange = function() { 
    8959            if (ajax.readyState == 4) { 
    90                 zobrazVystup(ajax.responseText); 
    91                 zobrazStav(''); 
     60                zobraz(ajax.responseText, vystupniPole); 
     61                zobraz('', stavovePole); 
    9262            } 
    9363        }; 
     
    10070function ajaxZobrazitHistorii() { 
    10171    if (ajax.readyState == 4 || ajax.readyState == 0) { 
    102         zobrazStav('Načítá se historie…'); 
     72        zobraz(document.lokalizace.probihaHistorie.value, stavovePole); 
    10373        ajax.open("POST", 'ajax?akce=historie', true); 
    10474        ajax.onreadystatechange = function() { 
    10575            if (ajax.readyState == 4) { 
    106                 zobrazVystup(ajax.responseText); 
    107                 zobrazStav(''); 
     76                zobraz(ajax.responseText, vystupniPole); 
     77                zobraz('', stavovePole); 
    10878            } 
    10979        }; 
  • java/sql-vyuka/web/styl.css

    r20 r22  
    203203    font-style: italic; 
    204204} 
     205 
     206/** Skrytý formulář sloužící pro lokalizaci JavaScriptu */ 
     207#lokalizace { 
     208    display: none; 
     209} 
  • java/sql-vyuka/web/vstupniPole.js

    r15 r22  
    33var tab = "\t"; 
    44 
    5 function checkTab(evt) { 
     5function zpracujTabulatory(evt) { 
    66 
    77    var t = evt.target;