mirror of
				https://github.com/PhoenixTwoFive/karaoqueue.git
				synced 2025-11-04 09:25:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends 'base.html' %}
 | 
						|
{% block title %}Songsuche{% endblock %}
 | 
						|
{% block content %}
 | 
						|
<input class="form-control" id="filter" type="text" placeholder="Suchen...">
 | 
						|
<table class="table">
 | 
						|
    <tbody id="songtable">
 | 
						|
        <!--{% for entry in (): %}
 | 
						|
        <tr>
 | 
						|
            <td>
 | 
						|
                {{ entry[0] }} 
 | 
						|
            </td>
 | 
						|
            <td>
 | 
						|
                <button type="button" class="btn btn-primary"><i class="material-icons">queue_music</i></button>
 | 
						|
            </td>
 | 
						|
        </tr>
 | 
						|
        {% endfor %}-->
 | 
						|
    </tbody>
 | 
						|
</table>
 | 
						|
<div class="modal fade" id="enqueueModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
 | 
						|
    aria-hidden="true">
 | 
						|
    <div class="modal-dialog" role="document">
 | 
						|
        <div class="modal-content">
 | 
						|
            <div class="modal-header">
 | 
						|
                <h5 class="modal-title" id="exampleModalLabel">Auf Liste setzen</h5>
 | 
						|
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
 | 
						|
                    <span aria-hidden="true">×</span>
 | 
						|
                </button>
 | 
						|
            </div>
 | 
						|
            <div class="form-group">
 | 
						|
            <form id="nameForm">
 | 
						|
                <div class="modal-body">
 | 
						|
                        <label for="singerNameInput">Sängername</label>
 | 
						|
                        <input type="text" class="form-control" id="singerNameInput" placeholder="Max Mustermann"
 | 
						|
                            required>
 | 
						|
                        <input id="selectedId" name="selectedId" type="hidden" value="">
 | 
						|
                    </div>
 | 
						|
                    <div class="modal-footer">
 | 
						|
                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 | 
						|
                        <button type="submit" class="btn btn-primary" id="submitSongButton">Anmelden</button>
 | 
						|
                    </div>
 | 
						|
            </form>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
{% endblock %}
 | 
						|
{% block extrajs %}
 | 
						|
<script>
 | 
						|
    $(document).ready(function () {
 | 
						|
        $("#filter").keyup( function () {
 | 
						|
            var value = $(this).val().toLowerCase();
 | 
						|
            //alert(value);
 | 
						|
            if(value.length >= 1) {
 | 
						|
                $.getJSON("/api/songs/compl", { search: value }, function (data) {
 | 
						|
                    var items = [];
 | 
						|
                    $.each(data, function (key, val) {
 | 
						|
                        items.push("<tr><td>"+val[0]+`</td>
 | 
						|
                            <td><button type='button'
 | 
						|
                                    class='btn btn-primary justify-content-center align-content-between'
 | 
						|
                                    data-toggle='modal'
 | 
						|
                                    data-target='#enqueueModal' onclick='setSelectedId(`+val[1]+`)'><i
 | 
						|
                                        class="fas fa-plus"></i></button></td>
 | 
						|
                        </tr>`)
 | 
						|
                    });
 | 
						|
    
 | 
						|
                    $("#songtable").html("")
 | 
						|
                    $(items.join("")).appendTo("#songtable");
 | 
						|
                });
 | 
						|
            } else {
 | 
						|
                $("#songtable").html("")
 | 
						|
            }
 | 
						|
        });
 | 
						|
 | 
						|
        $("#nameForm").submit( function (e) {
 | 
						|
            e.preventDefault();
 | 
						|
            submitModal();
 | 
						|
        });
 | 
						|
    });
 | 
						|
 | 
						|
    
 | 
						|
    function enqueue(id,name,success_callback) {
 | 
						|
        var data = {
 | 
						|
            "name": name,
 | 
						|
            "id": id
 | 
						|
        }
 | 
						|
        $.ajax({
 | 
						|
            type: 'POST',
 | 
						|
            url: '/api/enqueue',
 | 
						|
            data: JSON.stringify(data), // or JSON.stringify ({name: 'jonas'}),
 | 
						|
            success: success_callback,
 | 
						|
            contentType: "application/json",
 | 
						|
            dataType: 'json'
 | 
						|
        });
 | 
						|
    }
 | 
						|
    
 | 
						|
    function setSelectedId(id) {
 | 
						|
        $("#selectedId").attr("value",id);
 | 
						|
    }
 | 
						|
    
 | 
						|
    function submitModal() {
 | 
						|
        var name = $("#singerNameInput").val();
 | 
						|
        var id = $("#selectedId").attr("value");
 | 
						|
        enqueue(id,name,function(){
 | 
						|
            $("#enqueueModal").modal('hide');
 | 
						|
            window.location.href = '/#end';
 | 
						|
        });
 | 
						|
        
 | 
						|
 | 
						|
    }
 | 
						|
</script>
 | 
						|
{% endblock %} |