aboutsummaryrefslogtreecommitdiff
path: root/_content/index.js
diff options
context:
space:
mode:
Diffstat (limited to '_content/index.js')
-rw-r--r--_content/index.js106
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)
+}