{% extends '_main.html' %}

{% block title %}Tasks - Bazarr{% endblock %}

{% block bcleft %}

{% endblock bcleft %}

{% block bcright %}

{% endblock bcright %}

{% block body %}
    <div class="container-fluid">
        <table id="tasks" class="table table-striped" style="width:100%">
            <thead>
            <tr>
                <th>Name</th>
                <th>Execution Frequency</th>
                <th>Next Execution</th>
                <th></th>
            </tr>
            </thead>
        </table>
    </div>
{% endblock body %}

{% block tail %}
    <script>
        $(document).ready(function () {
            var table = $('#tasks').DataTable( {
                language: {
                    zeroRecords: 'No Task Scheduled.',
                    processing: "Loading Tasks..."
                },
                paging: false,
                lengthChange: false,
                pageLength: {{ settings.general.page_size }},
                searching: false,
                ordering: false,
                processing: true,
                serverSide: false,
                ajax: {
                    url: "{{ url_for('api.systemtasks') }}",
                    type: 'GET'
                },
                columns: [
                    {
                        data: 'name'
                    },
                    { data: 'interval'
                    },
                    { data: 'next_run_in'
                    },
                    { data: null,
                        render: function(data) {
                            if (data.job_running) {
                                return '<i class="execute fas fa-sync fa-spin" data-taskid="'+data.job_id+'"></i>';
                            } else {
                                return '<i class="execute fas fa-sync" data-taskid="'+data.job_id+'"></i>';
                            }
                        }
                    }
                ]
            });

            $('#tasks').on('click', '.execute', function(e){
                e.preventDefault();
                const values = {
                    'taskid': $(this).data("taskid")
                };

                $.ajax({
                    url: "{{ url_for('api.systemtasks') }}",
                    method: "POST",
                    data: JSON.stringify(values),
                    contentType: "application/json"
                });
            });
        })
    </script>
{% endblock tail %}
