63 lines
1.1 KiB
HTML
63 lines
1.1 KiB
HTML
|
|
<form class="sortable" action="/editmenu" method="POST">
|
|
<div id="menu" class="list">
|
|
{% for item in menu.keys() %}
|
|
<div class="entry">
|
|
{% if menu[item] is mapping %}
|
|
|
|
{{item }}
|
|
|
|
{% for subitem in menu[item].keys() %}
|
|
<div class="entry n1">
|
|
{{ subitem }}
|
|
<input class="input" id="{{ item }}">
|
|
</div>
|
|
{% endfor %}
|
|
|
|
|
|
{% else %}
|
|
<div class="entry">
|
|
{{ item }}
|
|
<input class="input" value="{{ menu[item] }}">
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</form>
|
|
|
|
<style>
|
|
.n1 > div {
|
|
background-color: lightblue;
|
|
padd ing-left: 50px;
|
|
}
|
|
|
|
.n2 > div {
|
|
background-color: lightgreen;
|
|
padding-left: 50px;
|
|
}
|
|
|
|
.list {
|
|
padding: 50px;
|
|
}
|
|
|
|
</style>
|
|
|
|
<script src="/static/vendors/Sortable/Sortable.min.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
var elements = document.getElementsByClassName('list');
|
|
|
|
for (var i = 0; i < elements.length; i++) {
|
|
|
|
new Sortable(elements[i], {
|
|
group: 'shared',
|
|
animation: 150,
|
|
fallbackOnBody: true,
|
|
swapThreshold: 0.65
|
|
});
|
|
|
|
}
|
|
</script>
|
|
|