shimatta-kenkyusho/shimatta_kenkyusho/templates/base.html

99 lines
5.3 KiB
HTML

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
<link href="{% static 'css/icons/bootstrap-icons.css' %}" rel="stylesheet">
<link href="{% static 'css/shimatta-kenkyusho-base.css' %}" rel="stylesheet">
<title>{{ base.title }}</title>
<script type="text/javascript">
const fallback_img_path = "{% static 'css/icons/card-image.svg' %}";
</script>
{% block customhead %}
{% endblock customhead %}
</head>
<body>
<nav class="navbar navbar-expand-lg bg-dark navbar-dark">
<div class="container">
<a href="/" class="navbar-brand">{{ base.navbar.brand }}</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navmenu">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navmenu">
<ul class="navbar-nav">
{% for item in base.navbar.navitems %}
<li class="nav-item"><a href="{{ item.link }}" class="nav-link {{ item.active_class }}">{{ item }}</a></li>
{% endfor %}
</ul>
{% if base.navbar.has_user %}
<form action="" method="post" class="ms-auto" autocomplete="off">
{% csrf_token %}
<input type="search" name="qr_search" id="qr_search_field" aria-label="QR Scan" placeholder="QR Search" class="form-control me-2 text-success">
</form>
{% endif %}
<ul class="navbar-nav ms-auto">
{% if base.navbar.has_user %}
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle text-primary" id="navbar-user-dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">{{ base.navbar.username }}</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbar-user-dropdown">
<li><a class="dropdown-item" href="{% url 'change-pw' %}">Change Password</a></li>
<li><a class="dropdown-item" href="{% url 'logout' %}">Logout</a></li>
<li><a class="dropdown-item" href="{% url 'api-root' %}">REST API</a></li>
{% if base.navbar.show_admin %}
<li><a class="dropdown-item text-success" href="{% url 'admin:index' %}">Administration</a></li>
{% endif %}
</ul>
</li>
{% else %}
<li class="nav-item"><a href="{% url 'login' %}" class="nav-link{% if base.login_active %} active{% endif %}">Login</a></li>
{% endif %}
</ul>
</div>
</div>
</nav>
{% block content %}
{% endblock content %}
<script type="text/javascript" src="{% static 'js/bootstrap.bundle.min.js' %}"></script>
<!--<script type="text/javascript" src="{% static 'js/autocomplete.min.js' %}"></script>-->
<script type="text/javascript" src="{% static 'js/csrf-token.js' %}"></script>
<script type="text/javascript">
const api_urls_v1 = {
'user-list': '{% url 'user-list' %}',
'groups-list': '{% url 'user-list' %}',
'storage-list': '{% url 'storage-list' %}',
'storage-template-list': '{% url 'storage-template-list' %}',
'component-list': '{% url 'component-list' %}',
'package-list': '{% url 'package-list' %}',
'stock-list': '{% url 'stock-list' %}',
'distributor-list': '{% url 'distributor-list' %}',
'manufacturer-list': '{% url 'manufacturer-list' %}',
'component-type-list': '{% url 'componenttype-list' %}',
'component-parameter-type-list': '{% url 'componentparametertype-list' %}',
};
</script>
<script type="text/javascript" src="{% static 'js/kenkyusho-api-v1.js' %}"></script>
<script type="text/javascript" src="{% static 'js/autocomplete.js' %}"></script>
<script type="text/javascript" src="{% static 'js/autocomplete-foreign-key-field.js' %}"></script>
<!-- Initialize bootstrap popovers -->
<script type="text/javascript">
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
</script>
<!-- Select search field on start of QR scan if no input is currently selevted([) -->
<script type="text/javascript">
window.addEventListener("keydown", (event)=>{
if (document.activeElement.nodeName != 'INPUT' && event.key == '[') {
document.getElementById("qr_search_field").focus()
}
})
</script>
{% block custom_scripts %}
{% endblock custom_scripts %}
</body>
</html>