Support booleans and numbers in edit parameter

This commit is contained in:
Shweelan Samson authored and Zaid Abdulla committed 2018-12-27 01:21:18 -08:00
1 parent bae54300a7
commit 44dadcb8a7
1 file changed
+48 -19
+48 -19
View File
@@ -15,25 +15,54 @@ function mval(val) {
} }
function renderStagingSpv(task, queueFunc, cancelFunc) { function renderStagingSpv(task, queueFunc, cancelFunc) {
const input = m("input", { function keydown(e) {
value: task.parameterValues[0][1], if (e.keyCode === 13) queueFunc();
oninput: e => { else if (e.keyCode === 27) cancelFunc();
e.redraw = false; else e.redraw = false;
task.parameterValues[0][1] = input.dom.value; }
},
onkeydown: e => { let input;
if (e.keyCode === 13) queueFunc(); if (task.parameterValues[0][2] === "xsd:boolean") {
else if (e.keyCode === 27) cancelFunc(); input = m(
else e.redraw = false; "select",
}, {
oncreate: vnode => { value: task.parameterValues[0][1].toString(),
vnode.dom.focus(); onchange: e => {
vnode.dom.select(); e.redraw = false;
// Need to prevent scrolling on focus because task.parameterValues[0][1] = input.dom.value;
// we're animating height and using overflow: hidden },
vnode.dom.parentNode.parentNode.scrollTop = 0; onkeydown: keydown,
} oncreate: vnode => {
}); vnode.dom.focus();
}
},
[
m("option", { value: "true" }, "true"),
m("option", { value: "false" }, "false")
]
);
} else {
input = m("input", {
type: ["xsd:dateTime", "xsd:int", "xsd:unsignedInt"].includes(
task.parameterValues[0][2]
)
? "number"
: "text",
value: task.parameterValues[0][1],
oninput: e => {
e.redraw = false;
task.parameterValues[0][1] = input.dom.value;
},
onkeydown: keydown,
oncreate: vnode => {
vnode.dom.focus();
vnode.dom.select();
// Need to prevent scrolling on focus because
// we're animating height and using overflow: hidden
vnode.dom.parentNode.parentNode.scrollTop = 0;
}
});
}
return [m("span", "Editing ", mparam(task.parameterValues[0][0])), input]; return [m("span", "Editing ", mparam(task.parameterValues[0][0])), input];
} }