Implement routing
This commit is contained in:
parent
da5d97fbc2
commit
893a35506a
3 changed files with 25 additions and 15 deletions
|
@ -6,12 +6,12 @@
|
|||
<link rel="stylesheet" href="../bundle.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="words-xxxxx"></div>
|
||||
<div id="app"></div>
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.6.3.min.js"
|
||||
integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU="
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="../bundle.js"></script>
|
||||
<script src="bundle.js"></script>
|
||||
</body>
|
||||
</html>
|
24
bundle.js
24
bundle.js
|
@ -7,16 +7,26 @@ window.leqsikoni = {
|
|||
}
|
||||
},
|
||||
|
||||
words_xxxxx: function() {
|
||||
window.leqsikoni.words_xxxxx_template()
|
||||
app: function() {
|
||||
if ($('#app').length === 0) return;
|
||||
|
||||
var word_id = Number(window.location.hash.substring(1))
|
||||
var path = String(window.location.hash).substring(1)
|
||||
|
||||
var match = null
|
||||
|
||||
if ((match = /^\/words\/(\d+)$/.exec(path))) {
|
||||
window.leqsikoni.words_xxxxx(Number(match[1]))
|
||||
}
|
||||
},
|
||||
|
||||
words_xxxxx: function(word_id) {
|
||||
window.leqsikoni.words_xxxxx_template()
|
||||
|
||||
$.getJSON(
|
||||
'http://localhost:4567/words/' + word_id,
|
||||
function(data) {
|
||||
document.title = window.leqsikoni.maybe_text(data.primary_form) || ''
|
||||
$('#words-xxxxx').html(window.leqsikoni.words_xxxxx_template(data))
|
||||
$('#app').html(window.leqsikoni.words_xxxxx_template(data))
|
||||
},
|
||||
)
|
||||
},
|
||||
|
@ -103,7 +113,7 @@ window.leqsikoni = {
|
|||
|
||||
if (other_word_id !== null) {
|
||||
value =
|
||||
'<a href="xxxxx.html#' + other_word_id + '">' + value + '</a>'
|
||||
'<a href="app.html#/words/' + other_word_id + '">' + value + '</a>'
|
||||
}
|
||||
|
||||
items_html.push(
|
||||
|
@ -164,6 +174,6 @@ window.leqsikoni = {
|
|||
}
|
||||
|
||||
$(function() {
|
||||
$('#words-xxxxx').each(window.leqsikoni.words_xxxxx)
|
||||
window.addEventListener('hashchange', window.leqsikoni.words_xxxxx, false)
|
||||
window.addEventListener('hashchange', window.leqsikoni.app, false)
|
||||
window.leqsikoni.app()
|
||||
})
|
||||
|
|
12
words.html
12
words.html
|
@ -10,12 +10,12 @@
|
|||
<h2>Глаголы</h2>
|
||||
|
||||
<ol>
|
||||
<li><a href="words/xxxxx.html#1">არის</a> - быть</li>
|
||||
<li><a href="words/xxxxx.html#2">აქვს</a> - иметь (неодушевлённое)</li>
|
||||
<li><a href="words/xxxxx.html#3">ყავს</a> - иметь (одушевлённое)</li>
|
||||
<li><a href="words/xxxxx.html#4">აქებს</a> - хвалить</li>
|
||||
<li><a href="words/xxxxx.html#5">ცემს</a> - бить</li>
|
||||
<li><a href="words/xxxxx.html#6">ხატავს</a> - рисовать</li>
|
||||
<li><a href="app.html#/words/1">არის</a> - быть</li>
|
||||
<li><a href="app.html#/words/2">აქვს</a> - иметь (неодушевлённое)</li>
|
||||
<li><a href="app.html#/words/3">ყავს</a> - иметь (одушевлённое)</li>
|
||||
<li><a href="app.html#/words/4">აქებს</a> - хвалить</li>
|
||||
<li><a href="app.html#/words/5">ცემს</a> - бить</li>
|
||||
<li><a href="app.html#/words/6">ხატავს</a> - рисовать</li>
|
||||
</ol>
|
||||
|
||||
<h2>Существительные</h2>
|
||||
|
|
Loading…
Add table
Reference in a new issue