root/java/sql-vyuka/web/hlavni.js @ 21:b7574b90e272

Revision 21:b7574b90e272, 3.0 KB (checked in by František Kučera <franta-hg@…>, 15 years ago)

Stavová hláška pro načítání historie.

RevLine 
[3]1/** ID html prvků */
2const vstupniPole = 'vstupniPole';
3const vystupniPole = 'vystupniPole';
4const napovedniPole = 'napovedniPole';
[20]5const stavovePole = 'stavovePole';
[3]6
7
[2]8/**
9 * Aby to fungovalo i v MSIE 6.
10 * @return AJAXový objekt.
11 */
12function 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. */
24var ajax = getXmlHttpRequestObject();
25
26/**
[3]27 * Vrací vstup od uživatele.
28 * @return SQL příkaz zadaný uživatelem.
29 **/
30function getSQL() {
[11]31    return document.aplikace.vstupniPole.value;
[3]32}
33
34/**
[2]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 **/
39function zobraz(text, kde) {
[19]40    if (kde == vstupniPole) {
41        document.aplikace.vstupniPole.value = text;
[20]42    } else if (kde == stavovePole)  {
43        document.aplikace.stavovePole.value = text;
[19]44    } else {
45        document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>';
46    }
[2]47}
48
49/**
50 * Zobrazí text ve výstupním poli.
[20]51 * @param text HTML text k zobrazení
[2]52 **/
53function zobrazVystup(text) {
[3]54    zobraz(text, vystupniPole);
[2]55}
56
57/**
[5]58 * Zobrazí text ve vstupním poli.
59 * Požijeme pro načtení SQL příkazu z historie.
[20]60 * @param text prostý text k zobrazení
[5]61 **/
62function zobrazVstup(text) {
63    zobraz(text, vstupniPole);
64}
65
66/**
[20]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 **/
71function zobrazStav(text) {
72    zobraz(text, stavovePole);
73}
74
75/**
[2]76 * Zobrazí text ve poli pro nápovědu.
77 * @param text text k zobrazení
78 **/
79function zobrazNapovedu(text) {
[3]80    zobraz(text, napovedniPole);
[2]81}
82
83/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
[5]84function ajaxVykonatSQL() {
[2]85    if (ajax.readyState == 4 || ajax.readyState == 0) {
[20]86        zobrazStav('Probíhá zpracování SQL příkazu…');
87        ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
[19]88        ajax.onreadystatechange = function() {
89            if (ajax.readyState == 4) {
90                zobrazVystup(ajax.responseText);
[20]91                zobrazStav('');
[19]92            }
93        };
[2]94        ajax.send(null);
95    }
96}
[5]97
98
99/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
100function ajaxZobrazitHistorii() {
101    if (ajax.readyState == 4 || ajax.readyState == 0) {
[21]102        zobrazStav('Načítá se historie…');
[12]103        ajax.open("POST", 'ajax?akce=historie', true);
[19]104        ajax.onreadystatechange = function() {
105            if (ajax.readyState == 4) {
106                zobrazVystup(ajax.responseText);
[21]107                zobrazStav('');
[19]108            }
109        };
[5]110        ajax.send(null);
111    }
112}
Note: See TracBrowser for help on using the browser.