improve input:

* auto-guess figure number
* tabindex to exclude rarely used fields
master
agp8x 2019-11-16 12:48:46 +01:00
parent 9baedb322d
commit 78ceb5edbc
3 changed files with 29 additions and 7 deletions

View File

@ -7,7 +7,7 @@ services:
env_file: postgres.env
volumes:
- ./partdoc/:/app/
- ./sketches/:/app/sketches/
#- ./sketches/:/app/sketches/
working_dir: /app
command: python3 ./manage.py runserver 0.0.0.0:8000
ports:

View File

@ -12,6 +12,8 @@ function addRow(){
clone.children[0].children[0].value = fignumber;
document.getElementById("table").appendChild(clone);
var tabables = $("input[tabindex|='-1']", clone);
tabables.attr("tabindex", $('#table > tr').length);
var number = $("input[name|='partnumber']", clone);
number.autocomplete({
@ -19,8 +21,27 @@ function addRow(){
change: function (event, ui){setPartDesc(number, ui);},
delay: 50
});
var fig = $("input[name|='fignumber']", clone);
fig.focus(function() {
var prev = fig.parent().parent().prev("tr");
if (prev.length && parseInt(fig.val())) {
var rawnumber = prev[0].children[0].children[0].value;
var prevnumber = parseInt(rawnumber.split(" ").pop());
if (prevnumber){
var fignumber = prevnumber + 1;
fig.val(fignumber);
console.log(fignumber);
}else{
console.log("failed to parse int: " + rawnumber);
}
}else{
console.log("failed to load prev");
}
});
$("button")[0].innerHTML = $('#table > tr').length;
}
function setPartDesc(target, option){
var part = $("input[name|='name']", event.target.parentNode.parentNode);
part.attr("value", option.item.name);
}
}

View File

@ -13,6 +13,7 @@
<h1>add sketch to {{ product.name }}</h1>
<form action="{{ form_action }}" method="post">
{% csrf_token %}
<button type="submit" disabled style="display: none" aria-hidden="true"></button>
<input type="submit"/>
<p><label for="sketch_name">Name:</label><input type="text" name="sketch_name" value="{{ sketch.name }}"/></p>
<button type="button" onclick="addRow()">add row</button>
@ -50,15 +51,15 @@
</form>
<table style="display:none;">
<tr id="template">
<td><input type="text" size="8" name="fignumber"/></td>
<td><input type="text" size="13" name="partnumber"/></td>
<td><input type="text" size="8" name="fignumber" tabindex="-1"/></td>
<td><input type="text" size="13" name="partnumber" tabindex="-1"/></td>
<td><input type="text" size="1" name="internal"/></td>
<td><input type="text" size="32" name="name"/></td>
<td><input type="number" size="4" name="quantity"/></td>
<td><input type="text" size="32" name="name" tabindex="-1"/></td>
<td><input type="number" size="4" name="quantity" tabindex="-1"/></td>
<td><input type="text" size="16" name="last_version"/></td>
<td><input type="text" size="16" name="first_version"/></td>
<td><input type="text" size="13" name="replaced_by"/></td>
<td><input type="text" size="16" name="notes"/></td>
</tr>
</table>
<script type="text/javascript">addRow();</script>
<script type="text/javascript">addRow();</script>