Changeset 39:47551a506850
- Timestamp:
- 06/02/09 02:47:47 (15 years ago)
- Author:
- František Kučera <franta-hg@…>
- Branch:
- default
- Message:
-
Do URL (za #) ukládáme aktuální SQL příkaz → uživatel si může zkopírovat URL a obnovit si jinde stav aplikace.
Nefunguje pro prohlížeči Konqueror.
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
r38
|
r39
|
|
64 | 64 | ajax.send(null); |
65 | 65 | } |
| 66 | ulozURL(); |
66 | 67 | } |
67 | 68 | |
… |
… |
|
83 | 84 | |
84 | 85 | var pruvodceAktualniId = 0; |
| 86 | var urlOdkaz = new Array(); |
| 87 | urlOdkaz['pruvodce'] = null; |
85 | 88 | |
86 | 89 | function ajaxPruvodcePredchozi() { |
… |
… |
|
117 | 120 | if (ajax.readyState == 4) { |
118 | 121 | zobraz(ajax.responseText, napovedniPole); |
| 122 | /** Uložíme si do paměti ID aktuální stránky */ |
119 | 123 | if (document.pruvodceData) { |
120 | 124 | pruvodceAktualniId = document.pruvodceData.id.value |
… |
… |
|
122 | 126 | pruvodceAktualniId = 0; |
123 | 127 | } |
| 128 | /** Změníme URL v prohlížeči */ |
| 129 | urlOdkaz['pruvodce'] = 'pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod); |
| 130 | ulozURL(); |
124 | 131 | } |
125 | 132 | }; |
126 | 133 | ajax.send(null); |
127 | 134 | } |
128 | | // TODO: změnit URL |
129 | 135 | } |
| 136 | |
| 137 | /** |
| 138 | * @param parametr jméno parametru, který hledáme |
| 139 | * @return hodnota parametr |
| 140 | */ |
| 141 | function getParametr(parametr) { |
| 142 | parametr = parametr.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); |
| 143 | //var regexS = "[\\?&]"+parametr+"=([^&#]*)"; |
| 144 | var regexS = "[\\#&]"+parametr+"=([^&#]*)"; |
| 145 | var regex = new RegExp( regexS ); |
| 146 | var results = regex.exec(window.location.hash); |
| 147 | if( results == null ) |
| 148 | return ""; |
| 149 | else |
| 150 | return decodeURIComponent(results[1]); |
| 151 | } |
| 152 | |
| 153 | /** |
| 154 | * Uloží parametry (jako je SQL příkaz a stránka průvodce) do URL (za #), |
| 155 | * aby si uživatel mohl URL zkopírovat a příště si obnovit stav aplikace. |
| 156 | */ |
| 157 | function ulozURL() { |
| 158 | if (urlOdkaz['pruvodce']) { |
| 159 | window.location.hash = urlOdkaz['pruvodce'] + '&sql=' + encodeURIComponent(getSQL()); |
| 160 | } else { |
| 161 | window.location.hash = 'sql=' + encodeURIComponent(getSQL()); |
| 162 | } |
| 163 | } |
| 164 | /** |
| 165 | * Načte uložený stav aplikace z URL (SQL příkaz, průvodce). |
| 166 | */ |
| 167 | function nactiURL() { |
| 168 | if (getParametr('sql')) { |
| 169 | zobraz(getParametr('sql'), vstupniPole); |
| 170 | } |
| 171 | } |
| 172 | |
| 173 | window.onload = function() { |
| 174 | nactiURL(); |
| 175 | } |