mirror of
https://github.com/eldarion/eldarion-ajax-demo.git
synced 2026-01-07 21:23:54 -05:00
Add in demos of data-timeout and data-interval
This commit is contained in:
7
demo/templates/_status.html
Normal file
7
demo/templates/_status.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<div class="alert alert-info hide">
|
||||
You have created <strong>{{ count }}</strong> tasks so far.
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(".alert").fadeIn();
|
||||
</script>
|
||||
@@ -9,9 +9,10 @@
|
||||
{% block topbar_base %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="alert hide"></div>
|
||||
<div class="row">
|
||||
<div class="span4"></div>
|
||||
<div class="span4">
|
||||
<div class="span4" data-timeout="5000" data-url="{% url "status" %}">
|
||||
<h1>Tasks</h1>
|
||||
<p class="lead">
|
||||
A sample tasks app to demonstrate how to use
|
||||
@@ -19,6 +20,9 @@
|
||||
eldarion-ajax
|
||||
</a>
|
||||
</p>
|
||||
<p class="lead" data-interval="1000" data-url="{% url "total_count" %}" data-replace-inner="#total-count">
|
||||
There have been <span id="total-count">{{ total_count }}</span> tasks added by everyone.
|
||||
</p>
|
||||
<form class="form-inline ajax" method="post" action="{% url "task_add" %}" data-append="#tasks">
|
||||
{% csrf_token %}
|
||||
<div class="input-append">
|
||||
|
||||
@@ -6,14 +6,16 @@ from django.contrib import admin
|
||||
admin.autodiscover()
|
||||
|
||||
|
||||
urlpatterns = patterns("",
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url(r"^$", "demo.views.home", name="home"),
|
||||
url(r"^tasks/(?P<pk>\d+)/done/$", "demo.views.mark_done", name="task_mark_done"),
|
||||
url(r"^tasks/(?P<pk>\d+)/undone/$", "demo.views.mark_undone", name="task_mark_undone"),
|
||||
url(r"^tasks/completed/$", "demo.views.complete_count_fragment", name="task_complete_count_fragment"),
|
||||
url(r"^tasks/add/$", "demo.views.add", name="task_add"),
|
||||
url(r"^tasks/(?P<pk>\d+)/delete/$", "demo.views.delete", name="task_delete"),
|
||||
|
||||
url(r"^status/$", "demo.views.status", name="status"),
|
||||
url(r"^total-count/$", "demo.views.total_count", name="total_count"),
|
||||
url(r"^admin/", include(admin.site.urls)),
|
||||
url(r"^account/", include("account.urls")),
|
||||
)
|
||||
|
||||
@@ -11,6 +11,28 @@ from django.contrib.sessions.models import Session
|
||||
from demo.models import Task
|
||||
|
||||
|
||||
def status(request):
|
||||
data = {
|
||||
"fragments": {
|
||||
".alert": render_to_string(
|
||||
"_status.html",
|
||||
RequestContext(request, {
|
||||
"count": Task.objects.filter(
|
||||
session__session_key=request.session.session_key
|
||||
).count()
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
return HttpResponse(json.dumps(data), content_type="application/json")
|
||||
|
||||
|
||||
def total_count(request):
|
||||
return HttpResponse(json.dumps({
|
||||
"html": Task.objects.count()
|
||||
}), content_type="application/json")
|
||||
|
||||
|
||||
def home(request):
|
||||
if not request.session.exists(request.session.session_key):
|
||||
request.session.create()
|
||||
@@ -19,6 +41,7 @@ def home(request):
|
||||
"tasks": Task.objects.filter(
|
||||
session__session_key=request.session.session_key
|
||||
),
|
||||
"total_count": Task.objects.count(),
|
||||
"done_count": Task.objects.filter(
|
||||
session__session_key=request.session.session_key,
|
||||
done=True
|
||||
|
||||
Reference in New Issue
Block a user