mirror of
https://github.com/chibicitiberiu/ytsm.git
synced 2024-02-24 05:43:31 +00:00
Implemented video management facilities.
This commit is contained in:
@ -21,13 +21,28 @@
|
||||
<small class="text-muted">{{ video.publish_date }}</small>
|
||||
<a class="card-more float-right text-muted"
|
||||
href="#" role="button" id="dropdownMenuLink"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="typcn typcn-cog"></span></a>
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="typcn typcn-cog"></span>
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
|
||||
<a class="dropdown-item" href="#">Mark {{ video.watched | yesno:"not watched,watched" }}</a>
|
||||
{% if video.downloaded_path %}
|
||||
<a class="dropdown-item" href="#">Delete downloaded</a>
|
||||
{% if video.watched %}
|
||||
<a class="dropdown-item ajax-link" href="#" data-post-url="{% url 'ajax_action_mark_video_unwatched' video.id %}">
|
||||
Mark not watched
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="dropdown-item" href="#">Download</a>
|
||||
<a class="dropdown-item ajax-link" href="#" data-post-url="{% url 'ajax_action_mark_video_watched' video.id %}">
|
||||
Mark watched
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if video.downloaded_path %}
|
||||
<a class="dropdown-item ajax-link" href="#" data-post-url="{% url 'ajax_action_delete_video_files' video.id %}">
|
||||
Delete downloaded
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="dropdown-item ajax-link" href="#" data-post-url="{% url 'ajax_action_download_video_files' video.id %}" >
|
||||
Download
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -152,3 +152,34 @@ class AjaxModal
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function syncNow() {
|
||||
$.post("{% url 'ajax_action_sync_now' %}", {
|
||||
csrfmiddlewaretoken: '{{ csrf_token }}'
|
||||
});
|
||||
}
|
||||
|
||||
function ajaxLink_Clicked() {
|
||||
let url_post = $(this).data('post-url');
|
||||
let url_get = $(this).data('get-url');
|
||||
|
||||
if (url_post != null) {
|
||||
$.post(url_post, {
|
||||
csrfmiddlewaretoken: '{{ csrf_token }}'
|
||||
});
|
||||
}
|
||||
else if (url_get != null) {
|
||||
$.get(url_get, {
|
||||
csrfmiddlewaretoken: '{{ csrf_token }}'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// Initialization
|
||||
///
|
||||
$(document).ready(function ()
|
||||
{
|
||||
$(".ajax-link").on("click", ajaxLink_Clicked);
|
||||
$("#btn_sync_now").on("click", syncNow);
|
||||
});
|
@ -130,7 +130,7 @@ function videos_ReloadWithTimer()
|
||||
{
|
||||
videos_Submit.call($('#form_video_filter'));
|
||||
videos_timeout = null;
|
||||
}, 300);
|
||||
}, 200);
|
||||
}
|
||||
|
||||
function videos_Submit(e)
|
||||
@ -144,6 +144,7 @@ function videos_Submit(e)
|
||||
$.post(url, form.serialize())
|
||||
.done(function(result) {
|
||||
$("#videos-wrapper").html(result);
|
||||
$(".ajax-link").on("click", ajaxLink_Clicked);
|
||||
})
|
||||
.fail(function() {
|
||||
$("#videos-wrapper").html('<div class="alert alert-danger">An error occurred while retrieving the video list!</div>');
|
||||
@ -184,4 +185,5 @@ $(document).ready(function ()
|
||||
filters_form.find('select[name=sort]').on('change', videos_ReloadWithTimer);
|
||||
filters_form.find('select[name=show_watched]').on('change', videos_ReloadWithTimer);
|
||||
filters_form.find('select[name=show_downloaded]').on('change', videos_ReloadWithTimer);
|
||||
videos_Reload();
|
||||
});
|
||||
|
@ -65,5 +65,12 @@
|
||||
{% block body %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
<footer class="footer bg-light">
|
||||
<span class="ml-auto text-muted">Last synchronized: just now</span>
|
||||
<button id="btn_sync_now" class="btn btn-sm btn-light" title="Synchronize now!">
|
||||
<span class="typcn typcn-arrow-sync" aria-hidden="true"></span>
|
||||
</button>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user