templates: refresh meetings when live source changes (#41364)

This commit is contained in:
Frédéric Péters 2020-04-06 15:22:00 +02:00
parent 25f4267839
commit d87483fe6e
1 changed files with 29 additions and 2 deletions

View File

@ -1,5 +1,5 @@
{% extends "qommon/forms/widget.html" %}
{% load qommon %}
{% load qommon i18n %}
{% block widget-control %}
<select style="display: none" id="form_{{widget.name}}" name="{{widget.name}}"
{% for attr in widget.attrs.items %}{{attr.0}}="{{attr.1}}"{% endfor %}>
@ -18,7 +18,32 @@
</div>
<script>
$(function() {
var options = $('#form_{{widget.name}} option');
var WEEKDAYS = ["{% trans "Sunday" %}", "{% trans "Monday" %}",
"{% trans "Tuesday" %}", "{% trans "Wednesday" %}",
"{% trans "Thursday" %}", "{% trans "Friday" %}",
"{% trans "Saturday" %}"];
var $select = $('#form_{{widget.name}}');
var $table = $('#form_{{widget.name}}_table');
function fill_with_items(items) {
$select.empty();
$('<option value=""></option>').appendTo($select);
for (var i=0; i<items.length; i++) {
var $option = $('<option></option>', {value: items[i].id, text: items[i].text});
var date = new Date(items[i].datetime);
$option.attr('data-weekday', WEEKDAYS[date.getDay()]);
$option.attr('data-date', items[i].datetime.slice(0, 10));
$option.attr('data-time', items[i].datetime.slice(11, 16));
$option.appendTo($select);
}
}
$select.on('wcs:options-change', function(ev, data) {
if (data !== undefined) {
fill_with_items(data.items);
}
$table.empty();
var options = $select.find('option');
var current_date = null;
var current_day_div = null;
var current_offset = 0;
@ -87,6 +112,8 @@ $(function() {
$(this).addClass('on');
$('#form_{{widget.name}}').val($(options[$(this).data('idx')]).attr('value'));
});
});
$select.trigger('wcs:options-change');
});
</script>
{% if request.quixote_request.is_in_backoffice %}