1 {% extends "base.html" %}
2 {% load soundfiles panikdbtags %}
4 <h2>{{ episode.emission.title }} — {{ episode.title }}</h2>
5 <span><a href="../">Retourner à l'épisode</a></span>
11 <a class="big-friendly-button start-episode" href="#">Démarrer l'émission</a>
12 <a class="big-friendly-button end-episode" href="#">Terminer l'émission</a>
13 <a style="display: none" class="big-friendly-button reset-episode" href="#">Réinitialiser</a>
16 <input type="hidden" id="start_time">
17 <input type="hidden" id="end_time">
20 data-update-order-url="{% url 'episode-regie-update-order' emission_slug=episode.emission.slug slug=episode.slug %}"
22 {% for element in playlist %}
23 <tr data-element-id="{{element.id}}" data-shortcut="{{element.shortcut}}">
24 <td class="handle">⠿</td>
25 <td class="playlist-title">{{element.title}} <span class="shortcut">[{{element.shortcut}}]</span></td>
26 <td><audio src="{{element.sound.url}}" controls/></td>
27 <td>{{element.notes}}</td>
34 <h3>Ajouter à la playlist</h3>
35 <form id="add-playlist-elements-form" method="POST" action="." enctype="multipart/form-data">
37 <input type="file" name="playlist-element" multiple>
46 $('#start_time').val('');
47 $('#end_time').val('');
48 $('#add-playlist-elements-form input[type=file]').on('change', function() {
49 $('body').addClass('submitting');
50 $(this).parent().submit();
52 $('#playlist tbody').sortable({
54 update: function(event, ui) {
55 var new_order = Array();
56 $('#playlist tr').each(function(i, tr) {
57 new_order.push($(tr).data('element-id'));
60 url: $('#playlist').data('update-order-url'),
61 data: {'new-order': new_order}
65 $('.playlist-title').on('click', function() {
66 var audio = $(this).parent().find('audio')[0];
67 if (audio.paused === true) {
69 if ($('#start_time').val() == "") {
70 $('.start-episode').trigger('click');
76 $(document).keypress(function(ev) {
77 $('[data-shortcut=' + ev.key + '] .playlist-title').trigger('click');
80 $('.start-episode').click(function() {
81 $('#start_time').val(Date.now());
82 $(this).toggleClass('button-done');
83 $('.reset-episode').show();
86 $('.end-episode').click(function() {
87 $('#end_time').val(Date.now());
88 $(this).toggleClass('button-done');
91 $('.reset-episode').click(function() {
92 $('#start_time').val('');
93 $('#end_time').val('');
94 $('a').removeClass('button-done');
98 $('audio').each(function(i, elem) {
99 elem.addEventListener('play', function() {
100 if ($('#start_time').val() == "") {
101 $('.start-episode').trigger('click');