annotate default/merge-request/item.html @ 84:b2ef34e602cf

base, js (websocket), css (main style): dynamic pages implementation, first draft: this patch introduces the browser part of dynamic pages. Dynamic pages work by establishing a websocket between server and the current page, if requested by server (which means that needed arguments are present in template). Once the connection is established, the server can, for now, reload the page, append HTML elements, or receive arbitrary data (without reloading the page, in opposition to data post). If connection can't be established, a popup will be displayed and connection will be retried many times after variable timeouts. The browser will finally give up and display an alert to client if the number of retries is too high (20 for now).
author Goffi <goffi@goffi.org>
date Wed, 03 Jan 2018 01:12:16 +0100
parents 339f4011ed9b
children da8f1ba9034d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
69
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 {# display a single ticket
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
2
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 @variable item(xmlui_item): ticket to display
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 @variable comments(data_object.BlogItems): comments of the ticket
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 @variable comments_service(unicode): service for adding comments
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 @variable comments_node(unicode): node for adding comments
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 #}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
8
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 {% set category_menu = [('merge-requests_list', url_tickets_list),
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
10 ('merge-request_new', url_tickets_new)] %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 {% if not embedded %}{% extends 'base/base.html' %}{% endif %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 {% import 'input/xmlui.html' as xmlui with context %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
13 {% import 'blog/macros.html' as blog with context %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 {% import 'input/comment.html' as comment with context %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
15
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 {% block title %}{{item|adv_format('[{value.widget_value.id}] {value.widget_value.title}') }}{% endblock %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 {% block confirm_message %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
19 {% trans %}Your comment has been sent{% endtrans %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 {% endblock confirm_message %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
21
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
22 {% block body %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
23 <div class="tab_container">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
24 <div class="tab_header">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 <ul>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
26 <li class="tab_button clicked" onclick='toggle_clicked_class_sel(".tab_button,.tab_page")'>{% trans %}Description{% endtrans %}</li>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
27 <li class="tab_button" onclick='toggle_clicked_class_sel(".tab_button,.tab_page")'>{% trans %}Patches{% endtrans %}</li>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
28 </ul>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
29 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
30 <div class="tab_page clicked" id="tab_description">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
31 <div id="{{ item.widget_value['id'] }}" class="view single ticket box">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
32 {{ xmlui.generate(item,
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
33 form=false,
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 filters={'created': {'filters': ['date_fmt'], 'filters_args':[{'fmt': 'short'}]},
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
35 'updated': {'filters': ['date_fmt'], 'filters_args':[{'fmt': 'short'}]},
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
36 'body': {'filters': ['urlize'], 'filters_args':[{'nofollow': True, 'rel': 'noopener noreferrer'}]}},
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
37 )}}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
38 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
39 {% if comments is defined %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
40 <div id="blog_items">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
41 {{ blog.show_items(comments|reverse, expanded=true) }}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
42 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
43 {% endif %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
44 {% if comments_node is defined %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
45 <div class="comment_post">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
46 {{- comment.comment_or_login(service=comments_service, node=comments_node) -}}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
47 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
48 {% endif %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
49 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
50 <div class="tab_page" id="tab_patches">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
51 {% for patch in patches %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
52 <div class="patch">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
53 <header class="box">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
54 <div class="author"><label>{% trans %}author:{% endtrans %} </label>{{patch.author}}</div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
55 <p class="commit_msg">{{patch.commit_msg}}</p>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
56 </header>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
57 <div class="diff">
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
58 {{- patch.diff|highlight('diff') -}}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
59 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
60 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
61 {% endfor %}
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
62 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
63 </div>
339f4011ed9b merge-request: first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
64 {% endblock body %}