51 lines
1.7 KiB
HTML
51 lines
1.7 KiB
HTML
{#
|
||
SPDX-FileCopyrightText: 2024 Simon Bruder <simon@sbruder.de>
|
||
|
||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||
#}
|
||
|
||
{% extends "base.html" %}
|
||
{% block title %}{% block page_title %}Add Item Class{% endblock %} – {{ branding }}{% endblock %}
|
||
{% block main %}
|
||
<form method="POST">
|
||
<div class="mb-3">
|
||
<label for="name" class="form-label">Name</label>
|
||
<input type="text" class="form-control" id="name" name="name" required{% if let Some(data) = data %} value="{{ data.name }}"{% endif %}>
|
||
</div>
|
||
<div class="mb-3">
|
||
<label for="type" class="form-label">Type</label>
|
||
<select class="form-select" id="type" name="type" required{% if let Some(data) = data %} value="{{ data.type }}"{% endif %}>
|
||
{% for variant in ItemClassType::VARIANTS %}
|
||
<option>{{ variant }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
</div>
|
||
<div class="mb-3">
|
||
<label for="parent" class="form-label">Parent</label>
|
||
<input type="text" class="form-control" id="parent" name="parent" disabled{% if let Some(data) = data %}{% if let Some(parent) = data.parent %} value="{{ parent }}"{% endif %}{% endif %}>
|
||
</div>
|
||
<button type="submit" class="btn btn-primary">Add</button>
|
||
</form>
|
||
{% endblock %}
|
||
{% block extra_scripts %}
|
||
<script>
|
||
(() => {
|
||
document.getElementById("type").addEventListener("change", e => {
|
||
console.log(e)
|
||
let parentInput = document.getElementById("parent")
|
||
switch (e.target.value) {
|
||
case "generic":
|
||
parentInput.disabled = true
|
||
parentInput.value = ""
|
||
break
|
||
case "specific":
|
||
parentInput.disabled = false
|
||
break
|
||
default:
|
||
console.error("invalid type!")
|
||
}
|
||
})
|
||
})()
|
||
</script>
|
||
{% endblock %}
|