Changeset 80:d900e5a112cc
- Timestamp:
- 05/24/12 15:47:48 (13 years ago)
- Branch:
- default
- Location:
- java/sql-vyuka/web
- Files:
-
- 4 modified
-
hlavni.js (modified) (13 diffs)
-
klavesoveZkratky.js (modified) (1 diff)
-
strom.js (modified) (1 diff)
-
vstupniPole.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
java/sql-vyuka/web/hlavni.js
r72 r80 11 11 */ 12 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(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 } 21 21 } 22 22 … … 31 31 **/ 32 32 function getSQL() { 33 return document.getElementById('aplikace').vstupniPole.value;33 return document.getElementById('aplikace').vstupniPole.value; 34 34 } 35 35 … … 41 41 **/ 42 42 function 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> <!-- Šť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> <!-- Šťastné hackování ;-) --></p>'; 49 } 50 50 } 51 51 … … 53 53 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ 54 54 function 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(); 67 67 } 68 68 … … 70 70 /** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */ 71 71 function 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 }; 82 82 ajax.send(null); 83 }83 } 84 84 } 85 85 … … 89 89 90 90 function ajaxPruvodcePredchozi() { 91 ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null);91 ajaxPruvodceNaviguj('predchozi', pruvodceAktualniId, null); 92 92 } 93 93 94 94 function ajaxPruvodceZpet() { 95 try {96 history.back();97 //window.back();98 nactiURL();99 } catch (e) {100 alert(e);101 // není historie102 }95 try { 96 history.back(); 97 //window.back(); 98 nactiURL(); 99 } catch (e) { 100 alert(e); 101 // není historie 102 } 103 103 } 104 104 105 105 function ajaxPruvodceVpred() { 106 try {107 history.forward();108 //window.forward();109 nactiURL();110 } catch (e) {111 alert(e);112 // není historie113 }106 try { 107 history.forward(); 108 //window.forward(); 109 nactiURL(); 110 } catch (e) { 111 alert(e); 112 // není historie 113 } 114 114 } 115 115 116 116 function ajaxPruvodceNasledujici() { 117 ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null);117 ajaxPruvodceNaviguj('nasledujici', pruvodceAktualniId, null); 118 118 } 119 119 120 120 function ajaxPruvodceKod(kod) { 121 ajaxPruvodceNaviguj('podleKodu', 0, kod);121 ajaxPruvodceNaviguj('podleKodu', 0, kod); 122 122 } 123 123 124 124 function ajaxPruvodceId(id) { 125 ajaxPruvodceNaviguj('podleId', id, null);125 ajaxPruvodceNaviguj('podleId', id, null); 126 126 127 127 } 128 128 129 129 function 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 }; 148 148 ajax.send(null); 149 }149 } 150 150 } 151 151 … … 158 158 */ 159 159 function 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 } 169 170 } 170 171 … … 174 175 */ 175 176 function 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 } 181 182 } 182 183 /** … … 184 185 */ 185 186 function 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 } 197 198 } 198 199 199 200 window.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); 204 205 } 205 206 … … 213 214 */ 214 215 function 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 } 235 236 } 236 237 … … 241 242 */ 242 243 function 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 } 254 255 } 255 256 … … 259 260 */ 260 261 function vratEntity (text) { 261 var vysledek = text; 262 vysledek = vysledek.replace('<', '<', 'g'); 263 vysledek = vysledek.replace('>', '>', 'g'); 264 vysledek = vysledek.replace('&', '&', 'g'); 265 vysledek = vysledek.replace(' ', ' ', 'g'); 266 vysledek = vysledek.replace(' ', ' ', 'g'); 267 return vysledek; 268 262 var vysledek = text; 263 vysledek = vysledek.replace('<', '<', 'g'); 264 vysledek = vysledek.replace('>', '>', 'g'); 265 vysledek = vysledek.replace('&', '&', 'g'); 266 vysledek = vysledek.replace(' ', ' ', 'g'); 267 vysledek = vysledek.replace(' ', ' ', 'g'); 268 return vysledek; 269 269 } 270 270 … … 274 274 */ 275 275 function 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 -
java/sql-vyuka/web/klavesoveZkratky.js
r71 r80 4 4 5 5 document.onkeyup = function(e) { 6 if(e.which == 17) {7 isCtrl = false;8 }6 if(e.which == 17) { 7 isCtrl = false; 8 } 9 9 } 10 10 11 11 document.onkeydown = function(e) { 12 if(e.which == 17) {13 isCtrl = true;14 }12 if(e.which == 17) { 13 isCtrl = true; 14 } 15 15 16 if (isCtrl) { 17 if (e.which == 13) { 18 /** ctrl+enter → vykonáme SQL */ 19 ajaxVykonatSQL(); 20 return false; 21 } else if (e.which == 72) { 22 /** ctrl+h → uobrazíme historii */ 23 ajaxZobrazitHistorii(); 24 return false; 25 } else if (e.which == 39) { 26 /** doprava → následující kapitola */ 27 ajaxPruvodceNasledujici(); 28 return false; 29 } else if (e.which == 37) { 30 /** doleva → předchozí kapitola */ 31 ajaxPruvodcePredchozi(); 32 return false; 16 if (isCtrl) { 17 if (e.which == 13) { 18 /** ctrl+enter → vykonáme SQL */ 19 ajaxVykonatSQL(); 20 return false; 21 } else if (e.which == 72) { 22 /** ctrl+h → uobrazíme historii */ 23 ajaxZobrazitHistorii(); 24 return false; 25 } else if (e.which == 39) { 26 /** doprava → následující kapitola */ 27 ajaxPruvodceNasledujici(); 28 return false; 29 } else if (e.which == 37) { 30 /** doleva → předchozí kapitola */ 31 ajaxPruvodcePredchozi(); 32 return false; 33 } 34 return true; 35 } else { 36 return true; 33 37 } 34 return true;35 } else {36 return true;37 }38 38 } -
java/sql-vyuka/web/strom.js
r49 r80 3 3 4 4 function pridejUdalost(o, e, f) { 5 if (o.addEventListener) {6 o.addEventListener(e,f,true);7 return true;8 } else if (o.attachEvent) {9 return o.attachEvent("on" + e, f);10 } else {11 return false;12 }5 if (o.addEventListener) { 6 o.addEventListener(e,f,true); 7 return true; 8 } else if (o.attachEvent) { 9 return o.attachEvent("on" + e, f); 10 } else { 11 return false; 12 } 13 13 } 14 14 15 15 function nastavKonstantu(name, val) { 16 if (typeof(window[name]) == "undefined" || window[name] == null) {17 window[name] = val;18 }16 if (typeof(window[name]) == "undefined" || window[name] == null) { 17 window[name] = val; 18 } 19 19 } 20 20 21 21 function rozbalStrom(treeId) { 22 var ul = document.getElementById(treeId);23 if (ul == null) {24 return false;25 }26 rozbalSbalSeznam(ul, nodeOpenClass);22 var ul = document.getElementById(treeId); 23 if (ul == null) { 24 return false; 25 } 26 rozbalSbalSeznam(ul, nodeOpenClass); 27 27 } 28 28 29 29 function sbalStrom(treeId) { 30 var ul = document.getElementById(treeId);31 if (ul == null) {32 return false;33 }34 rozbalSbalSeznam(ul, nodeClosedClass);30 var ul = document.getElementById(treeId); 31 if (ul == null) { 32 return false; 33 } 34 rozbalSbalSeznam(ul, nodeClosedClass); 35 35 } 36 36 37 37 function rozbalAzNaPolozku(treeId, itemId) { 38 var ul = document.getElementById(treeId);39 if (ul == null) {40 return false;41 }42 var ret = rozbalSbalSeznam(ul, nodeOpenClass, itemId);43 if (ret) {44 var o = document.getElementById(itemId);45 if (o.scrollIntoView) {46 o.scrollIntoView(false);47 }48 }38 var ul = document.getElementById(treeId); 39 if (ul == null) { 40 return false; 41 } 42 var ret = rozbalSbalSeznam(ul, nodeOpenClass, itemId); 43 if (ret) { 44 var o = document.getElementById(itemId); 45 if (o.scrollIntoView) { 46 o.scrollIntoView(false); 47 } 48 } 49 49 } 50 50 51 51 function rozbalSbalSeznam(ul, cName, itemId) { 52 if(!ul.childNodes || ul.childNodes.length==0) {53 return false;54 }55 for (var itemi = 0; itemi < ul.childNodes.length; itemi++) {56 var item = ul.childNodes[itemi];52 if(!ul.childNodes || ul.childNodes.length==0) { 53 return false; 54 } 55 for (var itemi = 0; itemi < ul.childNodes.length; itemi++) { 56 var item = ul.childNodes[itemi]; 57 57 58 if (itemId != null && item.id == itemId) {59 return true;60 }58 if (itemId != null && item.id == itemId) { 59 return true; 60 } 61 61 62 if (item.nodeName == "LI") {63 var subLists = false;64 for (var sitemi = 0; sitemi<item.childNodes.length; sitemi++) {65 var sitem = item.childNodes[sitemi];66 if (sitem.nodeName=="UL") {67 subLists = true;68 var ret = rozbalSbalSeznam(sitem, cName, itemId);69 if (itemId != null && ret) {70 item.className = cName;71 return true;72 }73 }74 }62 if (item.nodeName == "LI") { 63 var subLists = false; 64 for (var sitemi = 0; sitemi<item.childNodes.length; sitemi++) { 65 var sitem = item.childNodes[sitemi]; 66 if (sitem.nodeName=="UL") { 67 subLists = true; 68 var ret = rozbalSbalSeznam(sitem, cName, itemId); 69 if (itemId != null && ret) { 70 item.className = cName; 71 return true; 72 } 73 } 74 } 75 75 76 if (subLists && itemId == null) {77 item.className = cName;78 }79 }80 }76 if (subLists && itemId == null) { 77 item.className = cName; 78 } 79 } 80 } 81 81 } 82 82 83 83 function sestavStromy() { 84 nastavKonstantu("treeClass", "strom");85 nastavKonstantu("nodeClosedClass", "liClosed");86 nastavKonstantu("nodeOpenClass", "liOpen");87 nastavKonstantu("nodeBulletClass", "liBullet");88 nastavKonstantu("nodeLinkClass", "bullet");89 nastavKonstantu("preProcessTrees", true);90 if (preProcessTrees) {91 if (!document.createElement) {92 return;93 }94 uls = document.getElementsByTagName("ul");95 for (var uli = 0; uli < uls.length; uli++) {96 var ul = uls[uli];97 if (ul.nodeName == "UL" && ul.className == treeClass) {98 zpracujStrom(ul);99 ul.style.display = "block";100 }101 }102 }84 nastavKonstantu("treeClass", "strom"); 85 nastavKonstantu("nodeClosedClass", "liClosed"); 86 nastavKonstantu("nodeOpenClass", "liOpen"); 87 nastavKonstantu("nodeBulletClass", "liBullet"); 88 nastavKonstantu("nodeLinkClass", "bullet"); 89 nastavKonstantu("preProcessTrees", true); 90 if (preProcessTrees) { 91 if (!document.createElement) { 92 return; 93 } 94 uls = document.getElementsByTagName("ul"); 95 for (var uli = 0; uli < uls.length; uli++) { 96 var ul = uls[uli]; 97 if (ul.nodeName == "UL" && ul.className == treeClass) { 98 zpracujStrom(ul); 99 ul.style.display = "block"; 100 } 101 } 102 } 103 103 } 104 104 105 105 function zpracujStrom(ul) { 106 if (!ul.childNodes || ul.childNodes.length==0) {107 return;108 }109 for (var itemi = 0; itemi < ul.childNodes.length; itemi++) {110 var item = ul.childNodes[itemi];111 if (item.nodeName == "LI") {112 var subLists = false;113 for (var sitemi = 0; sitemi < item.childNodes.length; sitemi++) {114 var sitem = item.childNodes[sitemi];115 if (sitem.nodeName == "UL") {116 subLists = true;117 zpracujStrom(sitem);118 }119 }120 var s = document.createElement("span");121 var t = '\u00A0';122 s.className = nodeLinkClass;123 if (subLists) {124 if (item.className == null || item.className == "") {125 item.className = nodeClosedClass;126 }127 if (item.firstChild.nodeName == "#text") {128 t = t + item.firstChild.nodeValue;129 item.removeChild(item.firstChild);130 }131 s.onclick = function() {132 this.parentNode.className = (this.parentNode.className==nodeOpenClass) ? nodeClosedClass : nodeOpenClass;133 return false;134 }135 } else {136 item.className = nodeBulletClass;137 s.onclick = function() {138 return false;139 }140 }141 s.appendChild(document.createTextNode(t));142 item.insertBefore(s, item.firstChild);143 }144 }106 if (!ul.childNodes || ul.childNodes.length==0) { 107 return; 108 } 109 for (var itemi = 0; itemi < ul.childNodes.length; itemi++) { 110 var item = ul.childNodes[itemi]; 111 if (item.nodeName == "LI") { 112 var subLists = false; 113 for (var sitemi = 0; sitemi < item.childNodes.length; sitemi++) { 114 var sitem = item.childNodes[sitemi]; 115 if (sitem.nodeName == "UL") { 116 subLists = true; 117 zpracujStrom(sitem); 118 } 119 } 120 var s = document.createElement("span"); 121 var t = '\u00A0'; 122 s.className = nodeLinkClass; 123 if (subLists) { 124 if (item.className == null || item.className == "") { 125 item.className = nodeClosedClass; 126 } 127 if (item.firstChild.nodeName == "#text") { 128 t = t + item.firstChild.nodeValue; 129 item.removeChild(item.firstChild); 130 } 131 s.onclick = function() { 132 this.parentNode.className = (this.parentNode.className==nodeOpenClass) ? nodeClosedClass : nodeOpenClass; 133 return false; 134 } 135 } else { 136 item.className = nodeBulletClass; 137 s.onclick = function() { 138 return false; 139 } 140 } 141 s.appendChild(document.createTextNode(t)); 142 item.insertBefore(s, item.firstChild); 143 } 144 } 145 145 } 146 -
java/sql-vyuka/web/vstupniPole.js
r22 r80 5 5 function zpracujTabulatory(evt) { 6 6 7 var t = evt.target;8 var ss = t.selectionStart;9 var se = t.selectionEnd;7 var t = evt.target; 8 var ss = t.selectionStart; 9 var se = t.selectionEnd; 10 10 11 11 12 // Tabulátor13 if (evt.keyCode == 9) {14 evt.preventDefault();12 // Tabulátor 13 if (evt.keyCode == 9) { 14 evt.preventDefault(); 15 15 16 // Víceřádkový výběr17 if (ss != se && t.value.slice(ss,se).indexOf("\n") != -1) {18 var pre = t.value.slice(0,ss);19 var sel = t.value.slice(ss,se).replace(/\n/g,"\n"+tab);20 var post = t.value.slice(se,t.value.length);21 t.value = pre.concat(tab).concat(sel).concat(post);22 t.selectionStart = ss + tab.length;23 t.selectionEnd = se + tab.length;24 }16 // Víceřádkový výběr 17 if (ss != se && t.value.slice(ss,se).indexOf("\n") != -1) { 18 var pre = t.value.slice(0,ss); 19 var sel = t.value.slice(ss,se).replace(/\n/g,"\n"+tab); 20 var post = t.value.slice(se,t.value.length); 21 t.value = pre.concat(tab).concat(sel).concat(post); 22 t.selectionStart = ss + tab.length; 23 t.selectionEnd = se + tab.length; 24 } 25 25 26 // Jednořádkový nebo žádný výběr27 else {28 t.value = t.value.slice(0,ss).concat(tab).concat(t.value.slice(ss,t.value.length));29 if (ss == se) {30 t.selectionStart = t.selectionEnd = ss + tab.length;31 }32 else {33 t.selectionStart = ss + tab.length;34 t.selectionEnd = se + tab.length;35 }36 }37 }26 // Jednořádkový nebo žádný výběr 27 else { 28 t.value = t.value.slice(0,ss).concat(tab).concat(t.value.slice(ss,t.value.length)); 29 if (ss == se) { 30 t.selectionStart = t.selectionEnd = ss + tab.length; 31 } 32 else { 33 t.selectionStart = ss + tab.length; 34 t.selectionEnd = se + tab.length; 35 } 36 } 37 } 38 38 39 // Backspace40 else if (evt.keyCode==8 && t.value.slice(ss - 4,ss) == tab) {41 evt.preventDefault();42 t.value = t.value.slice(0,ss - 4).concat(t.value.slice(ss,t.value.length));43 t.selectionStart = t.selectionEnd = ss - tab.length;44 }39 // Backspace 40 else if (evt.keyCode==8 && t.value.slice(ss - 4,ss) == tab) { 41 evt.preventDefault(); 42 t.value = t.value.slice(0,ss - 4).concat(t.value.slice(ss,t.value.length)); 43 t.selectionStart = t.selectionEnd = ss - tab.length; 44 } 45 45 46 // Delete47 else if (evt.keyCode==46 && t.value.slice(se,se + 4) == tab) {48 evt.preventDefault();49 t.value = t.value.slice(0,ss).concat(t.value.slice(ss + 4,t.value.length));50 t.selectionStart = t.selectionEnd = ss;51 }46 // Delete 47 else if (evt.keyCode==46 && t.value.slice(se,se + 4) == tab) { 48 evt.preventDefault(); 49 t.value = t.value.slice(0,ss).concat(t.value.slice(ss + 4,t.value.length)); 50 t.selectionStart = t.selectionEnd = ss; 51 } 52 52 53 // Doleva54 else if (evt.keyCode == 37 && t.value.slice(ss - 4,ss) == tab) {55 alert("levá");56 evt.preventDefault();57 t.selectionStart = t.selectionEnd = ss - 4;58 }53 // Doleva 54 else if (evt.keyCode == 37 && t.value.slice(ss - 4,ss) == tab) { 55 alert("levá"); 56 evt.preventDefault(); 57 t.selectionStart = t.selectionEnd = ss - 4; 58 } 59 59 60 // Doprava61 else if (evt.keyCode == 39 && t.value.slice(ss,ss + 4) == tab) {62 alert("pravá");63 evt.preventDefault();64 t.selectionStart = t.selectionEnd = ss + 4;65 }60 // Doprava 61 else if (evt.keyCode == 39 && t.value.slice(ss,ss + 4) == tab) { 62 alert("pravá"); 63 evt.preventDefault(); 64 t.selectionStart = t.selectionEnd = ss + 4; 65 } 66 66 }
