updated Javascript
This commit is contained in:
parent
87e2efd296
commit
a9d6acd0de
@ -2,55 +2,10 @@
|
||||
|
||||
{% block title %}Genres{% endblock title %}
|
||||
|
||||
{% block script %}
|
||||
<script>
|
||||
const SCRIPT_ROOT = {{ request.script_root | tojson }};
|
||||
|
||||
function showCreateModal() {
|
||||
// set modal heading
|
||||
document.getElementById("dialog-heading").textContent = "Genre hinzufügen";
|
||||
// empty text input
|
||||
document.getElementById("form_Genre").value = "";
|
||||
// set form action
|
||||
document.getElementById("form_submit").formAction = "{{ url_for('genre.create') }}";
|
||||
// show modal
|
||||
document.getElementById("genremodal").showModal();
|
||||
}
|
||||
|
||||
function showUpdateModal() {
|
||||
// set modal heading
|
||||
document.getElementById("dialog-heading").textContent = "Genre bearbeiten";
|
||||
// populate text input
|
||||
document.getElementById("form_Genre").value = this.dataset.genre;
|
||||
// set form action
|
||||
document.getElementById("form_submit").formAction = `${SCRIPT_ROOT}/genre/update/${this.dataset.id}`;
|
||||
// show modal
|
||||
document.getElementById("genremodal").showModal();
|
||||
}
|
||||
|
||||
window.onload = function () {
|
||||
// initialise DataTable
|
||||
let table = new DataTable('#genretable', {
|
||||
paging: false,
|
||||
order: []
|
||||
});
|
||||
deRole("#genretable");
|
||||
{% block head %}
|
||||
<link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='datatables.css') }}">
|
||||
{% endblock head %}
|
||||
|
||||
// create and append "New"-button to
|
||||
let button = document.createElement("button");
|
||||
button.id = "create-button";
|
||||
button.setAttribute("title", "Genre hinzufügen");
|
||||
button.innerHTML = "Neu …";
|
||||
button.addEventListener("click", showCreateModal, false);
|
||||
document.getElementById("genretable_wrapper").firstElementChild.firstElementChild.appendChild(button);
|
||||
|
||||
// add event listeners
|
||||
document.getElementById ("create-button").addEventListener("click", showCreateModal, false);
|
||||
for (const el of document.querySelectorAll('.action-update') ) {
|
||||
el.addEventListener("click", showUpdateModal, false);
|
||||
}
|
||||
}
|
||||
</script>{% endblock script %}
|
||||
|
||||
{% block heading %}Genres{% endblock heading %}
|
||||
|
||||
@ -58,7 +13,7 @@
|
||||
|
||||
{% include "_icons.svg" %}
|
||||
|
||||
<table id="genretable">
|
||||
<table id="genre-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Genre</th>
|
||||
@ -76,11 +31,11 @@
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<dialog aria-labelledby="dialog-heading" id="genremodal">
|
||||
<dialog aria-labelledby="dialog-heading" id="genre-modal">
|
||||
<article>
|
||||
<form id="genre_detail_form" method="post" >
|
||||
<header>
|
||||
<button aria-label="close" rel="prev" onclick="genremodal.close()"></button>
|
||||
<button aria-label="close" rel="prev" onclick="genre-modal.close()"></button>
|
||||
<h1 id="dialog-heading">#</h1>
|
||||
</header>
|
||||
|
||||
@ -100,4 +55,43 @@
|
||||
</form>
|
||||
</article>
|
||||
</dialog>
|
||||
{% endblock content %}
|
||||
{% endblock content %}
|
||||
|
||||
{% block script %}
|
||||
<script src="{{ url_for('static', filename='datatables.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='the_works.js') }}"></script>
|
||||
<script>
|
||||
const create_url = "{{ url_for('genre.create') }}";
|
||||
const update_url_dummy = "{{ url_for('genre.update', id=-1) }}";
|
||||
window.onload = function () {
|
||||
initDataTable("#genre-table");
|
||||
initCreateButton({
|
||||
title: "Genre hinzufügen …",
|
||||
table_id: "#genre-table"
|
||||
});
|
||||
|
||||
// add event listener to "New" element
|
||||
document.getElementById ("create-button").addEventListener("click", () => {
|
||||
showDialog({
|
||||
heading: "Neues Genre",
|
||||
input_id: "form_Genre",
|
||||
form_action: create_url,
|
||||
modal_id: "genre-modal"
|
||||
})
|
||||
});
|
||||
|
||||
// add event listeners for "update" elements
|
||||
for (const el of document.querySelectorAll('.action-update') ) {
|
||||
el.addEventListener("click", (event) => {
|
||||
showDialog({
|
||||
heading: "Genre bearbeiten",
|
||||
input_id: "form_Genre",
|
||||
input_value: event.currentTarget.dataset.genre,
|
||||
form_action: update_url_dummy,
|
||||
url_id: event.currentTarget.dataset.id,
|
||||
modal_id: "genre-modal"
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>{% endblock script %}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user