# HG changeset patch # User František Kučera # Date 1337867268 -7200 # Node ID d900e5a112cc1657df7c75fa07e357ae631e239d # Parent aa8c8f51b0ccb618d6b46517b091857de4fadc62 Lepší odsazení JavaScriptu (tabulátory). diff -r aa8c8f51b0cc -r d900e5a112cc java/sql-vyuka/web/hlavni.js --- a/java/sql-vyuka/web/hlavni.js Wed Feb 08 13:16:13 2012 +0100 +++ b/java/sql-vyuka/web/hlavni.js Thu May 24 15:47:48 2012 +0200 @@ -10,14 +10,14 @@ * @return AJAXový objekt. */ function getXmlHttpRequestObject() { - if (window.XMLHttpRequest) { - return new XMLHttpRequest(); - } else if(window.ActiveXObject) { - return new ActiveXObject("Microsoft.XMLHTTP"); - } else { - alert(document.getElementById('lokalizace').nepodporovany.value); - return null; - } + if (window.XMLHttpRequest) { + return new XMLHttpRequest(); + } else if(window.ActiveXObject) { + return new ActiveXObject("Microsoft.XMLHTTP"); + } else { + alert(document.getElementById('lokalizace').nepodporovany.value); + return null; + } } @@ -30,7 +30,7 @@ * @return SQL příkaz zadaný uživatelem. **/ function getSQL() { - return document.getElementById('aplikace').vstupniPole.value; + return document.getElementById('aplikace').vstupniPole.value; } @@ -40,47 +40,47 @@ * @param kde id prvku, do kterého se má text vypsat. **/ function zobraz(text, kde) { - if (kde == vstupniPole) { - document.getElementById('aplikace').vstupniPole.value = vratEntity(text); - } else if (kde == stavovePole) { - document.getElementById('aplikace').stavovePole.value = vratEntity(text); - } else { - document.getElementById(kde).innerHTML = text + '

 

'; - } + if (kde == vstupniPole) { + document.getElementById('aplikace').vstupniPole.value = vratEntity(text); + } else if (kde == stavovePole) { + document.getElementById('aplikace').stavovePole.value = vratEntity(text); + } else { + document.getElementById(kde).innerHTML = text + '

 

'; + } } /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ function ajaxVykonatSQL() { - if (ajax.readyState == 4 || ajax.readyState == 0) { - zobraz(document.getElementById('lokalizace').probihaSQL.value, stavovePole); - ajax.open("POST", 'ajax.jspx?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true); - ajax.onreadystatechange = function() { - if (ajax.readyState == 4) { - zobraz(ajax.responseText, vystupniPole); - zobraz('', stavovePole); - } - }; - ajax.send(null); - } - ulozURL(); + if (ajax.readyState == 4 || ajax.readyState == 0) { + zobraz(document.getElementById('lokalizace').probihaSQL.value, stavovePole); + ajax.open("POST", 'ajax.jspx?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true); + ajax.onreadystatechange = function() { + if (ajax.readyState == 4) { + zobraz(ajax.responseText, vystupniPole); + zobraz('', stavovePole); + } + }; + ajax.send(null); + } + ulozURL(); } /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ function ajaxZobrazitHistorii() { - if (ajax.readyState == 4 || ajax.readyState == 0) { - zobraz(document.getElementById('lokalizace').probihaHistorie.value, stavovePole); - ajax.open("POST", 'ajax.jspx?akce=historie', true); - ajax.onreadystatechange = function() { - if (ajax.readyState == 4) { - zobraz(ajax.responseText, vystupniPole); - zobraz('', stavovePole); - aktivujHistorii(); - } - }; + if (ajax.readyState == 4 || ajax.readyState == 0) { + zobraz(document.getElementById('lokalizace').probihaHistorie.value, stavovePole); + ajax.open("POST", 'ajax.jspx?akce=historie', true); + ajax.onreadystatechange = function() { + if (ajax.readyState == 4) { + zobraz(ajax.responseText, vystupniPole); + zobraz('', stavovePole); + aktivujHistorii(); + } + }; ajax.send(null); - } + } } var pruvodceAktualniId = 0; @@ -88,65 +88,65 @@ urlOdkaz['pruvodce'] = null; function ajaxPruvodcePredchozi() { - ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null); + ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null); } function ajaxPruvodceZpet() { - try { - history.back(); - //window.back(); - nactiURL(); - } catch (e) { - alert(e); - // není historie - } + try { + history.back(); + //window.back(); + nactiURL(); + } catch (e) { + alert(e); + // není historie + } } function ajaxPruvodceVpred() { - try { - history.forward(); - //window.forward(); - nactiURL(); - } catch (e) { - alert(e); - // není historie - } + try { + history.forward(); + //window.forward(); + nactiURL(); + } catch (e) { + alert(e); + // není historie + } } function ajaxPruvodceNasledujici() { - ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null); + ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null); } function ajaxPruvodceKod(kod) { - ajaxPruvodceNaviguj('podleKodu', 0, kod); + ajaxPruvodceNaviguj('podleKodu', 0, kod); } function ajaxPruvodceId(id) { - ajaxPruvodceNaviguj('podleId', id, null); + ajaxPruvodceNaviguj('podleId', id, null); } function ajaxPruvodceNaviguj(akcePruvodce, id, kod) { - if (ajax.readyState == 4 || ajax.readyState == 0) { - ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true); - ajax.onreadystatechange = function() { - if (ajax.readyState == 4) { - zobraz(ajax.responseText, napovedniPole); - /** Uložíme si do paměti ID aktuální stránky */ - if (document.getElementById('pruvodceData')) { - pruvodceAktualniId = document.getElementById('pruvodceData').id.value; - } else { - pruvodceAktualniId = 0; - } - /** Změníme URL v prohlížeči */ - urlOdkaz['pruvodce'] = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId); - ulozURL(); - sestavStromy(); - aktivujPruvodce(); - } - }; + if (ajax.readyState == 4 || ajax.readyState == 0) { + ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true); + ajax.onreadystatechange = function() { + if (ajax.readyState == 4) { + zobraz(ajax.responseText, napovedniPole); + /** Uložíme si do paměti ID aktuální stránky */ + if (document.getElementById('pruvodceData')) { + pruvodceAktualniId = document.getElementById('pruvodceData').id.value; + } else { + pruvodceAktualniId = 0; + } + /** Změníme URL v prohlížeči */ + urlOdkaz['pruvodce'] = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId); + ulozURL(); + sestavStromy(); + aktivujPruvodce(); + } + }; ajax.send(null); - } + } } /** @@ -157,15 +157,16 @@ * @return hodnota parametr */ function getParametr(parametr) { - parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); - //var regexS = "[\\?&]"+parametr+"=([^&#]*)"; - var regexS = "[\\#&]"+parametr+"=([^&]*)"; - var regex = new RegExp( regexS ); - var results = regex.exec(window.location.hash); - if( results == null ) - return ""; - else - return decodeURIComponent(results[1]); + parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); + //var regexS = "[\\?&]"+parametr+"=([^&#]*)"; + var regexS = "[\\#&]"+parametr+"=([^&]*)"; + var regex = new RegExp( regexS ); + var results = regex.exec(window.location.hash); + if ( results == null ) { + return ""; + } else { + return decodeURIComponent(results[1]); + } } /** @@ -173,34 +174,34 @@ * aby si uživatel mohl URL zkopírovat a příště si obnovit stav aplikace. */ function ulozURL() { - if (urlOdkaz['pruvodce']) { - window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL()); - } else { - window.location.hash = 'sql=' + encodeURIComponent(getSQL()); - } + if (urlOdkaz['pruvodce']) { + window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL()); + } else { + window.location.hash = 'sql=' + encodeURIComponent(getSQL()); + } } /** * Načte uložený stav aplikace z URL (SQL příkaz, průvodce). */ function nactiURL() { - /** Načteme uživatelův SQL příkaz z URL do vstupního pole */ - if (getParametr('sql')) { - zobraz(getParametr('sql'), vstupniPole); - } - - /** Načteme pozici v nápovědě */ - if (getParametr('pruvodce')) { - ajaxPruvodceId(getParametr('pruvodce')); - } else { - ajaxPruvodceKod('vitejte'); - } + /** Načteme uživatelův SQL příkaz z URL do vstupního pole */ + if (getParametr('sql')) { + zobraz(getParametr('sql'), vstupniPole); + } + + /** Načteme pozici v nápovědě */ + if (getParametr('pruvodce')) { + ajaxPruvodceId(getParametr('pruvodce')); + } else { + ajaxPruvodceKod('vitejte'); + } } window.onload = function() { - nactiURL(); - document.getElementById("zahlavi").addEventListener('click', function () { - ajaxPruvodceKod('vitejte'); - }, false); + nactiURL(); + document.getElementById("zahlavi").addEventListener('click', function () { + ajaxPruvodceKod('vitejte'); + }, false); } /** @@ -212,26 +213,26 @@ * převede href="@klíč" na správný javascriptový odkaz. */ function aktivujPruvodce() { - /** Ukázky SQL kódu */ - elementy = document.getElementsByTagName("pre"); - for (var i = 0; i < elementy.length; i++) { - if (elementy[i].parentNode.id == napovedniPole) { - elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value; - elementy[i].onclick = function() { - zobraz(this.innerHTML, 'vstupniPole'); - return true; - }; + /** Ukázky SQL kódu */ + elementy = document.getElementsByTagName("pre"); + for (var i = 0; i < elementy.length; i++) { + if (elementy[i].parentNode.id == napovedniPole) { + elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value; + elementy[i].onclick = function() { + zobraz(this.innerHTML, 'vstupniPole'); + return true; + }; + } } - } - /** Aktivace interních odkazů na průvodce */ - elementy = document.getElementsByTagName("a"); - for (var j = 0; j < elementy.length; j++) { - var odkaz = elementy[j].getAttribute("href"); - if (odkaz.substring(0, 1) == '@') { - elementy[j].href = "javascript:ajaxPruvodceKod('" + odkaz.substring(1, odkaz.length) + "');"; + /** Aktivace interních odkazů na průvodce */ + elementy = document.getElementsByTagName("a"); + for (var j = 0; j < elementy.length; j++) { + var odkaz = elementy[j].getAttribute("href"); + if (odkaz.substring(0, 1) == '@') { + elementy[j].href = "javascript:ajaxPruvodceKod('" + odkaz.substring(1, odkaz.length) + "');"; + } } - } } /** @@ -240,17 +241,17 @@ * aby uživatel tento kód nemusel opisovat. */ function aktivujHistorii() { - radky = document.getElementsByTagName("tr"); - for (var i = 1; i < radky.length; i++) { - if (radky[i].parentNode.parentNode.parentNode.id == vystupniPole) { - radky[i].childNodes[1].title = document.getElementById('lokalizace').klikniProNacteniHistorie.value; - radky[i].childNodes[1].style.cursor = 'pointer'; - radky[i].childNodes[1].onclick = function() { - zobraz(this.innerHTML, 'vstupniPole'); - return true; - }; + radky = document.getElementsByTagName("tr"); + for (var i = 1; i < radky.length; i++) { + if (radky[i].parentNode.parentNode.parentNode.id == vystupniPole) { + radky[i].childNodes[1].title = document.getElementById('lokalizace').klikniProNacteniHistorie.value; + radky[i].childNodes[1].style.cursor = 'pointer'; + radky[i].childNodes[1].onclick = function() { + zobraz(this.innerHTML, 'vstupniPole'); + return true; + }; + } } - } } /** @@ -258,14 +259,13 @@ * aby se správně zobrazily ve vstupním nebo stavovém poli. */ function vratEntity (text) { - var vysledek = text; - vysledek = vysledek.replace('<', '<', 'g'); - vysledek = vysledek.replace('>', '>', 'g'); - vysledek = vysledek.replace('&', '&', 'g'); - vysledek = vysledek.replace(' ', ' ', 'g'); - vysledek = vysledek.replace(' ', ' ', 'g'); - return vysledek; - + var vysledek = text; + vysledek = vysledek.replace('<', '<', 'g'); + vysledek = vysledek.replace('>', '>', 'g'); + vysledek = vysledek.replace('&', '&', 'g'); + vysledek = vysledek.replace(' ', ' ', 'g'); + vysledek = vysledek.replace(' ', ' ', 'g'); + return vysledek; } /** @@ -273,8 +273,9 @@ * url = název souboru.js */ function nactiJavaScript (url) { - var element = document.createElement("script"); - element.src = url; - element.type = "text/javascript"; - document.getElementsByTagName("head")[0].appendChild(element); + var element = document.createElement("script"); + element.src = url; + element.type = "text/javascript"; + document.getElementsByTagName("head")[0].appendChild(element); } + diff -r aa8c8f51b0cc -r d900e5a112cc java/sql-vyuka/web/klavesoveZkratky.js --- a/java/sql-vyuka/web/klavesoveZkratky.js Wed Feb 08 13:16:13 2012 +0100 +++ b/java/sql-vyuka/web/klavesoveZkratky.js Thu May 24 15:47:48 2012 +0200 @@ -3,36 +3,36 @@ var isCtrl = false; document.onkeyup = function(e) { - if(e.which == 17) { - isCtrl = false; - } + if(e.which == 17) { + isCtrl = false; + } } document.onkeydown = function(e) { - if(e.which == 17) { - isCtrl = true; - } + if(e.which == 17) { + isCtrl = true; + } - if (isCtrl) { - if (e.which == 13) { - /** ctrl+enter → vykonáme SQL */ - ajaxVykonatSQL(); - return false; - } else if (e.which == 72) { - /** ctrl+h → uobrazíme historii */ - ajaxZobrazitHistorii(); - return false; - } else if (e.which == 39) { - /** doprava → následující kapitola */ - ajaxPruvodceNasledujici(); - return false; - } else if (e.which == 37) { - /** doleva → předchozí kapitola */ - ajaxPruvodcePredchozi(); - return false; + if (isCtrl) { + if (e.which == 13) { + /** ctrl+enter → vykonáme SQL */ + ajaxVykonatSQL(); + return false; + } else if (e.which == 72) { + /** ctrl+h → uobrazíme historii */ + ajaxZobrazitHistorii(); + return false; + } else if (e.which == 39) { + /** doprava → následující kapitola */ + ajaxPruvodceNasledujici(); + return false; + } else if (e.which == 37) { + /** doleva → předchozí kapitola */ + ajaxPruvodcePredchozi(); + return false; + } + return true; + } else { + return true; } - return true; - } else { - return true; - } -} \ No newline at end of file +} diff -r aa8c8f51b0cc -r d900e5a112cc java/sql-vyuka/web/strom.js --- a/java/sql-vyuka/web/strom.js Wed Feb 08 13:16:13 2012 +0100 +++ b/java/sql-vyuka/web/strom.js Thu May 24 15:47:48 2012 +0200 @@ -2,144 +2,145 @@ //pridejUdalost(window,"load",sestavStromy); function pridejUdalost(o, e, f) { - if (o.addEventListener) { - o.addEventListener(e,f,true); - return true; - } else if (o.attachEvent) { - return o.attachEvent("on" + e, f); - } else { - return false; - } + if (o.addEventListener) { + o.addEventListener(e,f,true); + return true; + } else if (o.attachEvent) { + return o.attachEvent("on" + e, f); + } else { + return false; + } } function nastavKonstantu(name, val) { - if (typeof(window[name]) == "undefined" || window[name] == null) { - window[name] = val; - } + if (typeof(window[name]) == "undefined" || window[name] == null) { + window[name] = val; + } } function rozbalStrom(treeId) { - var ul = document.getElementById(treeId); - if (ul == null) { - return false; - } - rozbalSbalSeznam(ul, nodeOpenClass); + var ul = document.getElementById(treeId); + if (ul == null) { + return false; + } + rozbalSbalSeznam(ul, nodeOpenClass); } function sbalStrom(treeId) { - var ul = document.getElementById(treeId); - if (ul == null) { - return false; - } - rozbalSbalSeznam(ul, nodeClosedClass); + var ul = document.getElementById(treeId); + if (ul == null) { + return false; + } + rozbalSbalSeznam(ul, nodeClosedClass); } function rozbalAzNaPolozku(treeId, itemId) { - var ul = document.getElementById(treeId); - if (ul == null) { - return false; - } - var ret = rozbalSbalSeznam(ul, nodeOpenClass, itemId); - if (ret) { - var o = document.getElementById(itemId); - if (o.scrollIntoView) { - o.scrollIntoView(false); - } - } + var ul = document.getElementById(treeId); + if (ul == null) { + return false; + } + var ret = rozbalSbalSeznam(ul, nodeOpenClass, itemId); + if (ret) { + var o = document.getElementById(itemId); + if (o.scrollIntoView) { + o.scrollIntoView(false); + } + } } function rozbalSbalSeznam(ul, cName, itemId) { - if(!ul.childNodes || ul.childNodes.length==0) { - return false; - } - for (var itemi = 0; itemi < ul.childNodes.length; itemi++) { - var item = ul.childNodes[itemi]; + if(!ul.childNodes || ul.childNodes.length==0) { + return false; + } + for (var itemi = 0; itemi < ul.childNodes.length; itemi++) { + var item = ul.childNodes[itemi]; - if (itemId != null && item.id == itemId) { - return true; - } + if (itemId != null && item.id == itemId) { + return true; + } - if (item.nodeName == "LI") { - var subLists = false; - for (var sitemi = 0; sitemi