Support setting query form values via plugins
Change-Id: I75de9d725ab8be72acd03c5f84ac68355a0c45a1
diff --git a/dev/js/src/plugin/server.js b/dev/js/src/plugin/server.js
index c99f695..b47e75c 100644
--- a/dev/js/src/plugin/server.js
+++ b/dev/js/src/plugin/server.js
@@ -13,6 +13,8 @@
KorAP.Panel = KorAP.Panel || {};
+ const d = document;
+
// State manager undefined
const states = KorAP.States ? KorAP.States :
@@ -69,6 +71,10 @@
* Initialize the plugin manager
*/
_init : function () {
+ this._ql = d.getElementById("ql-field");
+ this._q = d.getElementById("q-field")
+ this._cutoff = d.getElementById("q-cutoff-field");
+
return this;
},
@@ -548,6 +554,33 @@
break;
+ case 'set':
+
+ // Get Query information from form
+ if (d.key == 'QueryForm') {
+ let v = d["value"];
+ if (v["q"] != undefined && this._q) {
+ this._q.value = v["q"];
+ };
+
+ // Set query language field
+ // Identical to tutorial.js
+ if (v[ql] != undefined && KorAP.QLmenu) {
+ KorAP.QLmenu.selectValue(ql);
+ }
+
+ else if (this._ql) {
+ let found = Array.from(this._ql.options).find(o => o.value === ql);
+ if (found)
+ found.selected = true;
+ };
+
+ window.scrollTo(0, 0);
+ // if (v["cq"] != undefined) {};
+ }
+
+ break;
+
// Redirect to a different page relative to the current
case 'redirect':
const url = new URL(window.location);