Show
Ignore:
Timestamp:
05/24/12 15:47:48 (12 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

Lepší odsazení JavaScriptu? (tabulátory).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • java/sql-vyuka/web/hlavni.js

    r72 r80  
    1111 */ 
    1212function getXmlHttpRequestObject() { 
    13     if (window.XMLHttpRequest) { 
    14         return new XMLHttpRequest(); 
    15     } else if(window.ActiveXObject) { 
    16         return new ActiveXObject("Microsoft.XMLHTTP"); 
    17     } else { 
    18         alert(document.getElementById('lokalizace').nepodporovany.value); 
    19         return null; 
    20     } 
     13        if (window.XMLHttpRequest) { 
     14                return new XMLHttpRequest(); 
     15        } else if(window.ActiveXObject) { 
     16                return new ActiveXObject("Microsoft.XMLHTTP"); 
     17        } else { 
     18                alert(document.getElementById('lokalizace').nepodporovany.value); 
     19                return null; 
     20        } 
    2121} 
    2222 
     
    3131 **/ 
    3232function getSQL() { 
    33     return document.getElementById('aplikace').vstupniPole.value; 
     33        return document.getElementById('aplikace').vstupniPole.value; 
    3434} 
    3535 
     
    4141 **/ 
    4242function zobraz(text, kde) { 
    43     if (kde == vstupniPole) { 
    44         document.getElementById('aplikace').vstupniPole.value = vratEntity(text); 
    45     } else if (kde == stavovePole)  { 
    46         document.getElementById('aplikace').stavovePole.value = vratEntity(text); 
    47     } else { 
    48         document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>'; 
    49     } 
     43        if (kde == vstupniPole) { 
     44                document.getElementById('aplikace').vstupniPole.value = vratEntity(text); 
     45        } else if (kde == stavovePole)  { 
     46                document.getElementById('aplikace').stavovePole.value = vratEntity(text); 
     47        } else { 
     48                document.getElementById(kde).innerHTML = text + '<p>&nbsp;<!-- Šťastné hackování ;-) --></p>'; 
     49        } 
    5050} 
    5151 
     
    5353/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ 
    5454function ajaxVykonatSQL() { 
    55     if (ajax.readyState == 4 || ajax.readyState == 0) { 
    56         zobraz(document.getElementById('lokalizace').probihaSQL.value, stavovePole); 
    57         ajax.open("POST", 'ajax.jspx?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true); 
    58         ajax.onreadystatechange = function() { 
    59             if (ajax.readyState == 4) { 
    60                 zobraz(ajax.responseText, vystupniPole); 
    61                 zobraz('', stavovePole); 
    62             } 
    63         }; 
    64         ajax.send(null); 
    65     } 
    66     ulozURL(); 
     55        if (ajax.readyState == 4 || ajax.readyState == 0) { 
     56                zobraz(document.getElementById('lokalizace').probihaSQL.value, stavovePole); 
     57                ajax.open("POST", 'ajax.jspx?akce=vykonat&sql=' + encodeURIComponent(getSQL()), true); 
     58                ajax.onreadystatechange = function() { 
     59                        if (ajax.readyState == 4) { 
     60                                zobraz(ajax.responseText, vystupniPole); 
     61                                zobraz('', stavovePole); 
     62                        } 
     63                }; 
     64                ajax.send(null); 
     65        } 
     66        ulozURL(); 
    6767} 
    6868 
     
    7070/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ 
    7171function ajaxZobrazitHistorii() { 
    72     if (ajax.readyState == 4 || ajax.readyState == 0) { 
    73         zobraz(document.getElementById('lokalizace').probihaHistorie.value, stavovePole); 
    74         ajax.open("POST", 'ajax.jspx?akce=historie', true); 
    75         ajax.onreadystatechange = function() { 
    76             if (ajax.readyState == 4) { 
    77                 zobraz(ajax.responseText, vystupniPole); 
    78                 zobraz('', stavovePole); 
    79                 aktivujHistorii(); 
    80             } 
    81         }; 
     72        if (ajax.readyState == 4 || ajax.readyState == 0) { 
     73                zobraz(document.getElementById('lokalizace').probihaHistorie.value, stavovePole); 
     74                ajax.open("POST", 'ajax.jspx?akce=historie', true); 
     75                ajax.onreadystatechange = function() { 
     76                        if (ajax.readyState == 4) { 
     77                                zobraz(ajax.responseText, vystupniPole); 
     78                                zobraz('', stavovePole); 
     79                                aktivujHistorii(); 
     80                        } 
     81                }; 
    8282        ajax.send(null); 
    83     } 
     83        } 
    8484} 
    8585 
     
    8989 
    9090function ajaxPruvodcePredchozi() { 
    91     ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null); 
     91        ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null); 
    9292} 
    9393 
    9494function ajaxPruvodceZpet() { 
    95     try { 
    96         history.back(); 
    97         //window.back(); 
    98         nactiURL(); 
    99     } catch (e) { 
    100         alert(e); 
    101     // není historie 
    102     } 
     95        try { 
     96                history.back(); 
     97                //window.back(); 
     98                nactiURL(); 
     99        } catch (e) { 
     100                alert(e); 
     101                // není historie 
     102        } 
    103103} 
    104104 
    105105function ajaxPruvodceVpred() { 
    106     try { 
    107         history.forward(); 
    108         //window.forward(); 
    109         nactiURL(); 
    110     } catch (e) { 
    111         alert(e); 
    112     // není historie 
    113     } 
     106        try { 
     107                history.forward(); 
     108                //window.forward(); 
     109                nactiURL(); 
     110        } catch (e) { 
     111                alert(e); 
     112                // není historie 
     113        } 
    114114} 
    115115 
    116116function ajaxPruvodceNasledujici() { 
    117     ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null); 
     117        ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null); 
    118118} 
    119119 
    120120function ajaxPruvodceKod(kod) { 
    121     ajaxPruvodceNaviguj('podleKodu', 0, kod); 
     121        ajaxPruvodceNaviguj('podleKodu', 0, kod); 
    122122} 
    123123 
    124124function ajaxPruvodceId(id) { 
    125     ajaxPruvodceNaviguj('podleId', id, null); 
     125        ajaxPruvodceNaviguj('podleId', id, null); 
    126126 
    127127} 
    128128 
    129129function ajaxPruvodceNaviguj(akcePruvodce, id, kod) { 
    130     if (ajax.readyState == 4 || ajax.readyState == 0) { 
    131         ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true); 
    132         ajax.onreadystatechange = function() { 
    133             if (ajax.readyState == 4) { 
    134                 zobraz(ajax.responseText, napovedniPole); 
    135                 /** Uložíme si do paměti ID aktuální stránky */ 
    136                 if (document.getElementById('pruvodceData')) { 
    137                     pruvodceAktualniId = document.getElementById('pruvodceData').id.value; 
    138                 } else { 
    139                     pruvodceAktualniId = 0; 
    140                 } 
    141                 /** Změníme URL v prohlížeči */ 
    142                 urlOdkaz['pruvodce']  = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId); 
    143                 ulozURL(); 
    144                 sestavStromy(); 
    145                 aktivujPruvodce(); 
    146             } 
    147         }; 
     130        if (ajax.readyState == 4 || ajax.readyState == 0) { 
     131                ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true); 
     132                ajax.onreadystatechange = function() { 
     133                        if (ajax.readyState == 4) { 
     134                                zobraz(ajax.responseText, napovedniPole); 
     135                                /** Uložíme si do paměti ID aktuální stránky */ 
     136                                if (document.getElementById('pruvodceData')) { 
     137                                        pruvodceAktualniId = document.getElementById('pruvodceData').id.value; 
     138                                } else { 
     139                                        pruvodceAktualniId = 0; 
     140                                } 
     141                                /** Změníme URL v prohlížeči */ 
     142                                urlOdkaz['pruvodce']  = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId); 
     143                                ulozURL(); 
     144                                sestavStromy(); 
     145                                aktivujPruvodce(); 
     146                        } 
     147                }; 
    148148        ajax.send(null); 
    149     } 
     149        } 
    150150} 
    151151 
     
    158158 */ 
    159159function getParametr(parametr) { 
    160     parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    161     //var regexS = "[\\?&]"+parametr+"=([^&#]*)"; 
    162     var regexS = "[\\#&]"+parametr+"=([^&]*)"; 
    163     var regex = new RegExp( regexS ); 
    164     var results = regex.exec(window.location.hash); 
    165     if( results == null ) 
    166         return ""; 
    167     else 
    168         return decodeURIComponent(results[1]); 
     160        parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
     161        //var regexS = "[\\?&]"+parametr+"=([^&#]*)"; 
     162        var regexS = "[\\#&]"+parametr+"=([^&]*)"; 
     163        var regex = new RegExp( regexS ); 
     164        var results = regex.exec(window.location.hash); 
     165        if ( results == null ) { 
     166                return ""; 
     167        } else { 
     168                return decodeURIComponent(results[1]); 
     169        } 
    169170} 
    170171 
     
    174175 */ 
    175176function ulozURL() { 
    176     if (urlOdkaz['pruvodce']) { 
    177         window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL()); 
    178     } else { 
    179         window.location.hash = 'sql=' + encodeURIComponent(getSQL()); 
    180     } 
     177        if (urlOdkaz['pruvodce']) { 
     178                window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL()); 
     179        } else { 
     180                window.location.hash = 'sql=' + encodeURIComponent(getSQL()); 
     181        } 
    181182} 
    182183/** 
     
    184185 */ 
    185186function nactiURL() { 
    186     /** Načteme uživatelův SQL příkaz z URL do vstupního pole */ 
    187     if (getParametr('sql')) { 
    188         zobraz(getParametr('sql'), vstupniPole); 
    189     } 
    190      
    191     /** Načteme pozici v nápovědě */ 
    192     if (getParametr('pruvodce')) { 
    193         ajaxPruvodceId(getParametr('pruvodce')); 
    194     } else { 
    195         ajaxPruvodceKod('vitejte'); 
    196     } 
     187        /** Načteme uživatelův SQL příkaz z URL do vstupního pole */ 
     188        if (getParametr('sql')) { 
     189                zobraz(getParametr('sql'), vstupniPole); 
     190        } 
     191 
     192        /** Načteme pozici v nápovědě */ 
     193        if (getParametr('pruvodce')) { 
     194                ajaxPruvodceId(getParametr('pruvodce')); 
     195        } else { 
     196                ajaxPruvodceKod('vitejte'); 
     197        } 
    197198} 
    198199 
    199200window.onload = function() { 
    200     nactiURL(); 
    201     document.getElementById("zahlavi").addEventListener('click', function () { 
    202         ajaxPruvodceKod('vitejte'); 
    203     }, false); 
     201        nactiURL(); 
     202        document.getElementById("zahlavi").addEventListener('click', function () { 
     203                ajaxPruvodceKod('vitejte'); 
     204        }, false); 
    204205} 
    205206 
     
    213214 */ 
    214215function aktivujPruvodce() { 
    215     /** Ukázky SQL kódu */ 
    216     elementy = document.getElementsByTagName("pre"); 
    217     for (var i = 0; i < elementy.length; i++) { 
    218         if (elementy[i].parentNode.id == napovedniPole) { 
    219             elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value; 
    220             elementy[i].onclick = function() { 
    221                 zobraz(this.innerHTML, 'vstupniPole'); 
    222                 return true; 
    223             }; 
    224         } 
    225     } 
    226  
    227     /** Aktivace interních odkazů na průvodce */ 
    228     elementy = document.getElementsByTagName("a"); 
    229     for (var j = 0; j < elementy.length; j++) { 
    230         var odkaz = elementy[j].getAttribute("href"); 
    231         if (odkaz.substring(0, 1) == '@') { 
    232             elementy[j].href = "javascript:ajaxPruvodceKod('" + odkaz.substring(1, odkaz.length) + "');"; 
    233         } 
    234     } 
     216        /** Ukázky SQL kódu */ 
     217        elementy = document.getElementsByTagName("pre"); 
     218        for (var i = 0; i < elementy.length; i++) { 
     219                if (elementy[i].parentNode.id == napovedniPole) { 
     220                        elementy[i].title = document.getElementById('lokalizace').klikniProNacteniPrikladu.value; 
     221                        elementy[i].onclick = function() { 
     222                                zobraz(this.innerHTML, 'vstupniPole'); 
     223                                return true; 
     224                        }; 
     225                } 
     226        } 
     227 
     228        /** Aktivace interních odkazů na průvodce */ 
     229        elementy = document.getElementsByTagName("a"); 
     230        for (var j = 0; j < elementy.length; j++) { 
     231                var odkaz = elementy[j].getAttribute("href"); 
     232                if (odkaz.substring(0, 1) == '@') { 
     233                        elementy[j].href = "javascript:ajaxPruvodceKod('" + odkaz.substring(1, odkaz.length) + "');"; 
     234                } 
     235        } 
    235236} 
    236237 
     
    241242 */ 
    242243function aktivujHistorii() { 
    243     radky = document.getElementsByTagName("tr"); 
    244     for (var i = 1; i < radky.length; i++) { 
    245         if (radky[i].parentNode.parentNode.parentNode.id == vystupniPole) { 
    246             radky[i].childNodes[1].title = document.getElementById('lokalizace').klikniProNacteniHistorie.value; 
    247             radky[i].childNodes[1].style.cursor = 'pointer'; 
    248             radky[i].childNodes[1].onclick = function() { 
    249                 zobraz(this.innerHTML, 'vstupniPole'); 
    250                 return true; 
    251             }; 
    252         } 
    253     } 
     244        radky = document.getElementsByTagName("tr"); 
     245        for (var i = 1; i < radky.length; i++) { 
     246                if (radky[i].parentNode.parentNode.parentNode.id == vystupniPole) { 
     247                        radky[i].childNodes[1].title = document.getElementById('lokalizace').klikniProNacteniHistorie.value; 
     248                        radky[i].childNodes[1].style.cursor = 'pointer'; 
     249                        radky[i].childNodes[1].onclick = function() { 
     250                                zobraz(this.innerHTML, 'vstupniPole'); 
     251                                return true; 
     252                        }; 
     253                } 
     254        } 
    254255} 
    255256 
     
    259260 */ 
    260261function vratEntity (text) { 
    261     var vysledek = text; 
    262     vysledek = vysledek.replace('&lt;', '<', 'g'); 
    263     vysledek = vysledek.replace('&gt;', '>', 'g'); 
    264     vysledek = vysledek.replace('&amp;', '&', 'g'); 
    265     vysledek = vysledek.replace('&nbsp;', ' ', 'g'); 
    266     vysledek = vysledek.replace('&#160;', ' ', 'g'); 
    267     return vysledek; 
    268  
     262        var vysledek = text; 
     263        vysledek = vysledek.replace('&lt;', '<', 'g'); 
     264        vysledek = vysledek.replace('&gt;', '>', 'g'); 
     265        vysledek = vysledek.replace('&amp;', '&', 'g'); 
     266        vysledek = vysledek.replace('&nbsp;', ' ', 'g'); 
     267        vysledek = vysledek.replace('&#160;', ' ', 'g'); 
     268        return vysledek; 
    269269} 
    270270 
     
    274274 */ 
    275275function nactiJavaScript (url) { 
    276     var element = document.createElement("script"); 
    277     element.src = url; 
    278     element.type = "text/javascript"; 
    279     document.getElementsByTagName("head")[0].appendChild(element); 
    280 } 
     276        var element = document.createElement("script"); 
     277        element.src = url; 
     278        element.type = "text/javascript"; 
     279        document.getElementsByTagName("head")[0].appendChild(element); 
     280} 
     281