work on schedule; section.as_view()

This commit is contained in:
bkfox
2016-06-07 01:57:06 +02:00
parent 2365cc8b8e
commit b99dec05e3
8 changed files with 184 additions and 120 deletions

View File

@ -6,42 +6,53 @@
function update_schedule(event) {
var target = event.currentTarget;
var url = target.getAttribute('href');
var schedule = target;
while(schedule && schedule.className.indexOf('schedule'))
schedule = schedule.parentNode;
if(!schedule)
return false;
// prevent event
event.preventDefault();
// get schedule
while(schedule) {
if (schedule.className &&
schedule.className.indexOf('section_schedule') != -1)
break;
schedule = schedule.parentNode;
}
if(!schedule)
return;
console.log(schedule.className)
// xhr
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(xhr.readyState != 4 || xhr.status != 200 && xhr.status)
return;
var obj = document.createElement('div');
obj.innerHTML = xhr.responseText;
target.replaceChild(
obj.querySelector('.content'),
schedule.querySelector('.schedule .content')
)
target.replaceChild(
obj.querySelector('.schedule header'),
schedule.querySelector('.schedule header')
)
// target.querySelector('nav a').href = url
}
var obj = document.implementation.createHTMLDocument('result');
obj.documentElement.innerHTML = xhr.responseText;
obj = obj.documentElement;
xhr.open('GET', url + '?embed=1', true);
schedule.querySelector('header').innerHTML =
obj.querySelector('header').innerHTML;
schedule.querySelector('.content').innerHTML =
obj.querySelector('.content').innerHTML;
}
fields = [ {% for field in list.fields %}"fields={{ field }}",{% endfor %} ];
fields = fields.join('&');
xhr.open('GET', url + '?embed=1&' + fields, true);
xhr.send();
return false;
}
</script>
{% for curr, url in dates_url %}
<a href="{{ url }}" onclick="return update_schedule(event);" {% if curr == date %}
class="selected"{% endif %}>
<a href="{{ prev_week }}" onclick="update_schedule(event); return true;">&lt;</a>
{% for curr, url in dates %}
<a href="{{ url }}" {% if curr == date %}class="selected" {% endif %}
onclick="update_schedule(event); return true;">
{{ curr|date:'D. d' }}
</a>
{% endfor %}
<a href="{{ next_week }}" onclick="update_schedule(event); return true;">&gt;</a>
</header>
{% endblock %}