JavaScript: zjednodušení funkcí + zobrazování hlášky o probíhajícím SQL dotazu (hodí se u těch, které trvají dlouho).
1.1 --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PiskovisteDAO.java Sat May 30 01:26:29 2009 +0200
1.2 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/PiskovisteDAO.java Sat May 30 13:56:04 2009 +0200
1.3 @@ -37,7 +37,7 @@
1.4 ResultSet rs = null;
1.5 try {
1.6 /**
1.7 - * Uživatelskému SQL příkazu předřadíme výchozí cestu.
1.8 + * Uživatelskému SQL příkazu předřadíme výchozí cestu (search_path).
1.9 * Protože uživatelé si ji mohou měnit a kvůli recyklaci databázových zdrojů
1.10 * by jeden uživatel mohl ovlivnit jiného.
1.11 */
2.1 --- a/java/sql-vyuka/web/hlavni.js Sat May 30 01:26:29 2009 +0200
2.2 +++ b/java/sql-vyuka/web/hlavni.js Sat May 30 13:56:04 2009 +0200
2.3 @@ -36,7 +36,11 @@
2.4 * @param kde id prvku, do kterého se má text vypsat
2.5 **/
2.6 function zobraz(text, kde) {
2.7 - document.getElementById(kde).innerHTML = text + '<p> <!-- Šťastné hackování ;-) --></p>';
2.8 + if (kde == vstupniPole) {
2.9 + document.aplikace.vstupniPole.value = text;
2.10 + } else {
2.11 + document.getElementById(kde).innerHTML = text + '<p> <!-- Šťastné hackování ;-) --></p>';
2.12 + }
2.13 }
2.14
2.15 /**
2.16 @@ -67,19 +71,17 @@
2.17 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
2.18 function ajaxVykonatSQL() {
2.19 if (ajax.readyState == 4 || ajax.readyState == 0) {
2.20 - ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true);
2.21 - ajax.onreadystatechange = vykonatSQLVypis;
2.22 + sql = getSQL();
2.23 + zobrazVstup('Probíhá zpracování SQL příkazu…');
2.24 + ajax.open("POST", 'ajax?akce=vykonat&sql=' + encodeURIComponent(sql), true);
2.25 + ajax.onreadystatechange = function() {
2.26 + if (ajax.readyState == 4) {
2.27 + zobrazVystup(ajax.responseText);
2.28 + zobrazVstup(sql);
2.29 + }
2.30 + };
2.31 ajax.send(null);
2.32 }
2.33 - //zobrazNapovedu('Nějaká nápověda k danému příkazu.');
2.34 - //zobrazNapovedu(escape(getSQL()));
2.35 -}
2.36 -
2.37 -/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
2.38 -function vykonatSQLVypis() {
2.39 - if (ajax.readyState == 4) {
2.40 - zobrazVystup(ajax.responseText);
2.41 - }
2.42 }
2.43
2.44
2.45 @@ -87,14 +89,11 @@
2.46 function ajaxZobrazitHistorii() {
2.47 if (ajax.readyState == 4 || ajax.readyState == 0) {
2.48 ajax.open("POST", 'ajax?akce=historie', true);
2.49 - ajax.onreadystatechange = zobrazitHistoriiVypis;
2.50 + ajax.onreadystatechange = function() {
2.51 + if (ajax.readyState == 4) {
2.52 + zobrazVystup(ajax.responseText);
2.53 + }
2.54 + };
2.55 ajax.send(null);
2.56 }
2.57 }
2.58 -
2.59 -/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
2.60 -function zobrazitHistoriiVypis() {
2.61 - if (ajax.readyState == 4) {
2.62 - zobrazVystup(ajax.responseText);
2.63 - }
2.64 -}