# HG changeset patch # User František Kučera # Date 1248642208 -7200 # Node ID d6930d1238895ff65c96fce1a3547366ee760a27 # Parent 17e45eef6da0b86a11a512cf12ec3e53d8b94b64 Uživatel může kliknout myší na SQL kód v průvodci a snadno si ho překopírovat do vstupního pole (aby nemusel opisovat příklady). No jo, ale to budou ti uživatelé úplně líní a nic se nenaučí :-). diff -r 17e45eef6da0 -r d6930d123889 java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/preklady_cs.properties --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/preklady_cs.properties Sun Jul 26 21:13:51 2009 +0200 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/preklady_cs.properties Sun Jul 26 23:03:28 2009 +0200 @@ -15,6 +15,7 @@ js.nepodporovany=V\u00E1\u0161 prohl\u00ED\u017Ee\u010D nepodporuje AJAX. Po\u0159i\u010Fte si m\u00E9n\u011B zastaral\u00FD prohl\u00ED\u017Ee\u010D, nejl\u00E9pe Firefox. js.probihaSQL=Prob\u00EDh\u00E1 zpracov\u00E1n\u00ED SQL p\u0159\u00EDkazu\u2026 js.probihaHistorie=Na\u010D\u00EDt\u00E1 se historie\u2026 +js.klikniProNacteniPrikladu=Klikni pro na\u010Dten\u00ED p\u0159\u00EDkaldu. licence.program=Program je vyd\u00E1n pod licenc\u00ED: licence.agpl=GNU Affero GPL diff -r 17e45eef6da0 -r d6930d123889 java/sql-vyuka/web/WEB-INF/casti/aplikace.jspx --- a/java/sql-vyuka/web/WEB-INF/casti/aplikace.jspx Sun Jul 26 21:13:51 2009 +0200 +++ b/java/sql-vyuka/web/WEB-INF/casti/aplikace.jspx Sun Jul 26 23:03:28 2009 +0200 @@ -107,6 +107,7 @@ + \ No newline at end of file diff -r 17e45eef6da0 -r d6930d123889 java/sql-vyuka/web/hlavni.js --- a/java/sql-vyuka/web/hlavni.js Sun Jul 26 21:13:51 2009 +0200 +++ b/java/sql-vyuka/web/hlavni.js Sun Jul 26 23:03:28 2009 +0200 @@ -41,9 +41,9 @@ **/ function zobraz(text, kde) { if (kde == vstupniPole) { - document.getElementById('aplikace').vstupniPole.value = text; + document.getElementById('aplikace').vstupniPole.value = vratEntity(text); } else if (kde == stavovePole) { - document.getElementById('aplikace').stavovePole.value = text; + document.getElementById('aplikace').stavovePole.value = vratEntity(text); } else { document.getElementById(kde).innerHTML = text + '

 

'; } @@ -129,6 +129,7 @@ urlOdkaz['pruvodce'] = 'pruvodce=' + encodeURIComponent(pruvodceAktualniId); ulozURL(); sestavStromy(); + aktivujPruvodce(); } }; ajax.send(null); @@ -184,4 +185,35 @@ window.onload = function() { nactiURL(); -} \ No newline at end of file +} + +/** + * Přidá
 elementům v průvodci akci onclick,
+ * která se postará o načtení obsahu daného elementu do vstupního pole,
+ * aby uživatel tento kód nemusel opisovat.
+ */
+function aktivujPruvodce() {
+    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;
+            };
+        }
+    }
+}
+
+/**
+ * Převede HTML entity zpět na znaky,
+ * 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');
+    return vysledek;
+
+}