diff options
Diffstat (limited to '_content/index.js')
| -rw-r--r-- | _content/index.js | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/_content/index.js b/_content/index.js new file mode 100644 index 0000000..72482e9 --- /dev/null +++ b/_content/index.js @@ -0,0 +1,106 @@ +/** + * Copyright 2020, Shulhan <m.shulhan@gmail.com>. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ + +let kbbiClient = new KBBIClient("") + +function cariDefinisi() { + let kata = document.getElementById("kata").value + kbbiClient.getDefinitions(kata, cariDefinisiCallback) +} + +function cariDefinisiCallback(res) { + let out = document.getElementById("definisi-result") + out.innerHTML = "" + + for (let kata in res) { + let root = document.createElement("div") + printResultKata(root, kata, res[kata]) + out.appendChild(root) + } +} + +function printResultKata(out, kata, defKata) { + let el = document.createElement("b") + el.appendChild(document.createTextNode(kata)) + out.appendChild(el) + + printKataDasar(out, defKata.dasar) + printDefinitions(out, defKata.definisi) +} + +function printKataDasar(out, kataDasar) { + let root = document.createElement("div") + root.appendChild(document.createTextNode("Kata dasar: ")) + + if (kataDasar === "") { + root.appendChild(document.createTextNode("-")) + } else { + let italic = document.createElement("i") + italic.appendChild(document.createTextNode(kataDasar)) + root.appendChild(italic) + } + + out.appendChild(root) +} + +function printDefinitions(out, definitions) { + for (let x = 0; x < definitions.length; x++) { + let def = definitions[x] + + let root = document.createElement("div") + let el = document.createElement("p") + el.classList.add("definisi") + el.appendChild( + document.createTextNode( + "Definisi #" + (x + 1) + ": " + def.isi + ".", + ), + ) + root.appendChild(el) + + printKelasKata(root, def.kelas) + printContoh(root, def.contoh) + out.appendChild(root) + } +} + +function printKelasKata(out, daftarKelas) { + if (typeof daftarKelas === "undefined") { + return + } + + let root = document.createElement("div") + root.classList.add("kelas-kata") + root.appendChild(document.createTextNode("Kelas,")) + + let el = document.createElement("ul") + for (let x = 0; x < daftarKelas.length; x++) { + let li = document.createElement("li") + li.appendChild(document.createTextNode(daftarKelas[x])) + el.appendChild(li) + } + root.appendChild(el) + out.appendChild(root) +} + +function printContoh(out, examples) { + if (typeof examples === "undefined") { + return + } + + let root = document.createElement("div") + root.classList.add("contoh") + root.appendChild(document.createTextNode("Contoh,")) + + let ul = document.createElement("ul") + + for (let x = 0; x < examples.length; x++) { + let li = document.createElement("li") + li.appendChild(document.createTextNode(examples[x])) + ul.appendChild(li) + } + root.appendChild(ul) + out.appendChild(root) +} |
