Changeset 39:47551a506850
- Timestamp:
- 06/02/09 02:47:47 (16 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 | } |