From c5756f3b829fc3802de8de0287b035e24a674708 Mon Sep 17 00:00:00 2001 From: Nils G <nils.gondermann@ruhr-uni-bochum.de> Date: Sat, 2 May 2020 13:52:31 +0200 Subject: [PATCH] Added selection as possible input element --- controllers/player.py | 3 +++ static/game/debug/renderer.js | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/controllers/player.py b/controllers/player.py index 44649b0..d61755d 100644 --- a/controllers/player.py +++ b/controllers/player.py @@ -78,6 +78,9 @@ def submit(): new_input = {"submit": parameters["submit"]} + if JSON_CONTAINS(parameters, [('selection', int)]): + new_input["selection"] = parameters["selection"] + if JSON_CONTAINS(parameters, [('inputs', dict)]): #Load role definitions for additional validation (e.g. maxlength) diff --git a/static/game/debug/renderer.js b/static/game/debug/renderer.js index cd59e41..1a3ec69 100644 --- a/static/game/debug/renderer.js +++ b/static/game/debug/renderer.js @@ -62,7 +62,7 @@ function renderRole(_definition, _roleIdle) { var type = element["type"]; var c = element["class"]; var name = element["name"]; - var value = element["value"]; + var value = element["value"] ? element["value"] : ""; var length = element["length"]; if(prompt) { @@ -105,6 +105,22 @@ function renderRole(_definition, _roleIdle) { }); } break; + case "selection": + e = $("<span></span>"); + if(selections && selections[name]) { + for(select in selections[name]) { + var b = $("<input class='game_input' type='submit'/>"); + b.val(selections[name][select]); + b.attr("name", name); + b.attr("selection", select); + b.addClass(c); + b.click(function(o){ + submit($(this)); + }); + e.append(b); + } + } + break; default: e = $("<span>Invalid Element</span>"); break; @@ -136,6 +152,9 @@ function submit(_button) { }); submit["submit"] = _button.attr("name"); + if(_button.attr("selection")) { + submit["selection"] = parseInt(_button.attr("selection")); + } submit["inputs"] = inputs; AJAX_JSON(URL_SUBMIT, submit, function(_code, _data) { -- GitLab