annotate default/merge-request/item.html @ 85:05b500bd6235

chat: chat implementation, first draft: this chat use the new dynamic pages feature. Updates are pushed directly by server. Identities are used to retrieve avatar, and first letter of nickname is used to generate an avatar is none is found (temporary, a more elaborate avatar generation should follow in the future). Scroll is done automatically when new messages arrive, except if scroll is not at the end, as it probably means that user is checking history. User can resize text area and use [shift] + [enter] to enter multi-line messages. History will then scroll to bottom after message has been sent.
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 %}