From d84ad9e1638dac9dd7071a10d531cc3cd9d22bc4 Mon Sep 17 00:00:00 2001 From: voje Date: Sun, 24 Mar 2019 19:55:32 +0100 Subject: [PATCH] frontend: pick corpus --- src/backend_flask/app.py | 7 ++++++- src/frontend_vue/src/components/Home.vue | 5 +++-- src/frontend_vue/src/components/MainDispl.vue | 4 ++-- src/frontend_vue/src/components/Nav.vue | 19 +++++++++++++++---- src/frontend_vue/src/main.js | 3 ++- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/backend_flask/app.py b/src/backend_flask/app.py index 2f6a0c1..fb7dbea 100644 --- a/src/backend_flask/app.py +++ b/src/backend_flask/app.py @@ -386,7 +386,8 @@ def prepare_db(): # update entries (add headwords and fuctors for indexing) for corpus in ["ssj", "kres"]: for e in valdb[corpus].find({}): - #! hw_tids are not array ids + if e["srl_links"] is None: + continue hw_tids = list(set([x["from"] for x in e["srl_links"]])) hw_tokens = [helper_tid_to_token(tid, e["tokens"]) for tid in hw_tids] headwords = [(t["lemma"] if t["msd"][0] == "G" else t["lemma"] + "_") for t in hw_tokens] @@ -403,11 +404,15 @@ def prepare_db(): res_hws = {} res_fns = {} for e in valdb[corpus].find({}): + if "headwords" not in e: + continue for hw in e["headwords"]: if hw in res_hws: res_hws[hw] += 1 else: res_hws[hw] = 1 + if "functors" not in e: + continue for fn in e["functors"]: if fn in res_fns: res_fns[fn] += 1 diff --git a/src/frontend_vue/src/components/Home.vue b/src/frontend_vue/src/components/Home.vue index 6d5c9cd..d69e446 100644 --- a/src/frontend_vue/src/components/Home.vue +++ b/src/frontend_vue/src/components/Home.vue @@ -9,8 +9,9 @@
-
- +
+
diff --git a/src/frontend_vue/src/components/MainDispl.vue b/src/frontend_vue/src/components/MainDispl.vue index d03e5d1..439cfe8 100644 --- a/src/frontend_vue/src/components/MainDispl.vue +++ b/src/frontend_vue/src/components/MainDispl.vue @@ -32,7 +32,7 @@       - +
@@ -209,7 +209,7 @@ export default { reload: function () { this.state = "loading" this.sentences = {} - if (this.$root.store.selIndex === "functors") this.getFFrames(this.hw) + if (this.$root.store.selIndex.val === "functors") this.getFFrames(this.hw) else { this.getFrames(this.hw) if (this.$root.store.radio === "three") { diff --git a/src/frontend_vue/src/components/Nav.vue b/src/frontend_vue/src/components/Nav.vue index f3e0c1c..d0cd6bf 100644 --- a/src/frontend_vue/src/components/Nav.vue +++ b/src/frontend_vue/src/components/Nav.vue @@ -6,7 +6,7 @@ - + - + {{ option.key }} @@ -59,24 +59,35 @@ export default { name: "Nav", props: ["appState"], data() {return { + optCorpora: ["kres", "ssj"], optIndexes: [ {key: "besede", val: "words"}, {key: "udeleženske vloge", val: "functors"}, ], - optCorpora: ["kres", "ssj"], + indexText: "pregled: " + this.$root.store.selIndex.key, + corpText: "korpus: " + this.$root.store.selCorpus, }}, methods: { updateAll() { + this.$root.store.indexReloader += 1 this.$root.store.radio = "one" this.$router.push({ name: "Home" }) }, + setCorpText(val) { + this.corpText = "kropus: " + val + }, updateCorpus(val) { + this.setCorpText(val) this.$root.store.selCorpus = val this.updateAll() }, + setIndexText(val) { + this.indexText = "index: " + val + }, updateIndex(val) { + this.setIndexText(val.key) this.$root.store.selIndex = val this.updateAll() }, diff --git a/src/frontend_vue/src/main.js b/src/frontend_vue/src/main.js index ddc9ecc..fa4bfa8 100644 --- a/src/frontend_vue/src/main.js +++ b/src/frontend_vue/src/main.js @@ -38,8 +38,9 @@ const store = { // api_addr: "http://193.2.76.103:5004", // production token: null, username: null, - selIndex: "words", + selIndex: {key: "besede", val: "words"}, selCorpus: "kres", + indexReloader: 0, radio: "one", has_se: [], // used for appending (se) to certain verbs }