java/sql-vyuka/web/hlavni.js
author František Kučera <franta-hg@frantovo.cz>
Sat May 30 14:56:39 2009 +0200 (2009-05-30)
changeset 21 b7574b90e272
parent 20 47de9e8ce93e
child 22 e56b79cc18a9
permissions -rw-r--r--
Stavová hláška pro načítání historie.
     1 /** ID html prvků */
     2 const vstupniPole = 'vstupniPole';
     3 const vystupniPole = 'vystupniPole';
     4 const napovedniPole = 'napovedniPole';
     5 const stavovePole = 'stavovePole';
     6 
     7 
     8 /**
     9  * Aby to fungovalo i v MSIE 6.
    10  * @return AJAXový objekt.
    11  */
    12 function getXmlHttpRequestObject() {
    13     if (window.XMLHttpRequest) {
    14         return new XMLHttpRequest();
    15     } else if(window.ActiveXObject) {
    16         return new ActiveXObject("Microsoft.XMLHTTP");
    17     } else {
    18         alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox.");
    19         return null;
    20     }
    21 }
    22 
    23 /** Náš AJAXový objekt. */
    24 var ajax = getXmlHttpRequestObject();
    25 
    26 /**
    27  * Vrací vstup od uživatele.
    28  * @return SQL příkaz zadaný uživatelem.
    29  **/
    30 function getSQL() {
    31     return document.aplikace.vstupniPole.value;
    32 }
    33 
    34 /**
    35  * 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
    38  **/
    39 function zobraz(text, kde) {
    40     if (kde == vstupniPole) {
    41         document.aplikace.vstupniPole.value = text;
    42     } else if (kde == stavovePole)  {
    43         document.aplikace.stavovePole.value = text;
    44     } else {
    45         document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
    46     }
    47 }
    48 
    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 }
    82 
    83 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
    84 function ajaxVykonatSQL() {
    85     if (ajax.readyState == 4 || ajax.readyState == 0) {
    86         zobrazStav('Probíhá zpracování SQL příkazu…');
    87         ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
    88         ajax.onreadystatechange = function() {
    89             if (ajax.readyState == 4) {
    90                 zobrazVystup(ajax.responseText);
    91                 zobrazStav('');
    92             }
    93         };
    94         ajax.send(null);
    95     }
    96 }
    97 
    98 
    99 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
   100 function ajaxZobrazitHistorii() {
   101     if (ajax.readyState == 4 || ajax.readyState == 0) {
   102         zobrazStav('Načítá se historie…');
   103         ajax.open("POST", 'ajax?akce=historie', true);
   104         ajax.onreadystatechange = function() {
   105             if (ajax.readyState == 4) {
   106                 zobrazVystup(ajax.responseText);
   107                 zobrazStav('');
   108             }
   109         };
   110         ajax.send(null);
   111     }
   112 }