Show More
@@ -1,76 +1,81 b'' | |||
|
1 | 1 | .ui-button { |
|
2 | 2 | display: none; |
|
3 | 3 | } |
|
4 | 4 | |
|
5 | 5 | .ui-dialog-content { |
|
6 | 6 | padding: 0; |
|
7 | 7 | min-height: 0; |
|
8 | 8 | } |
|
9 | 9 | |
|
10 | 10 | .mark_btn { |
|
11 | 11 | cursor: pointer; |
|
12 | 12 | } |
|
13 | 13 | |
|
14 | 14 | .img-full { |
|
15 | 15 | position: fixed; |
|
16 | 16 | background-color: #CCC; |
|
17 | 17 | border: 1px solid #000; |
|
18 | 18 | cursor: pointer; |
|
19 | 19 | } |
|
20 | 20 | |
|
21 | 21 | .strikethrough { |
|
22 | 22 | text-decoration: line-through; |
|
23 | 23 | } |
|
24 | 24 | |
|
25 | 25 | .post_preview { |
|
26 | 26 | z-index: 300; |
|
27 | 27 | position:absolute; |
|
28 | 28 | } |
|
29 | 29 | |
|
30 | 30 | .gallery_image { |
|
31 | 31 | display: inline-block; |
|
32 | 32 | } |
|
33 | 33 | |
|
34 | 34 | @media print { |
|
35 | 35 | .post-form-w { |
|
36 | 36 | display: none; |
|
37 | 37 | } |
|
38 | 38 | } |
|
39 | 39 | |
|
40 | 40 | input[name="image"] { |
|
41 | 41 | display: block; |
|
42 | 42 | width: 100px; |
|
43 | 43 | height: 100px; |
|
44 | 44 | cursor: pointer; |
|
45 | 45 | position: absolute; |
|
46 | 46 | opacity: 0; |
|
47 | 47 | z-index: 1; |
|
48 | 48 | } |
|
49 | 49 | |
|
50 | 50 | .file_wrap { |
|
51 | 51 | width: 100px; |
|
52 | 52 | height: 100px; |
|
53 | 53 | border: solid 1px white; |
|
54 | 54 | display: inline-block; |
|
55 | 55 | } |
|
56 | 56 | |
|
57 | 57 | form > .file_wrap { |
|
58 | 58 | float: left; |
|
59 | 59 | } |
|
60 | 60 | |
|
61 | 61 | .file-thumb { |
|
62 | 62 | width: 100px; |
|
63 | 63 | height: 100px; |
|
64 | 64 | background-size: cover; |
|
65 | 65 | background-position: center; |
|
66 | 66 | } |
|
67 | 67 | |
|
68 | 68 | .compact-form-text { |
|
69 | 69 | margin-left:110px; |
|
70 | 70 | } |
|
71 | 71 | |
|
72 | 72 | textarea, input { |
|
73 | 73 | -moz-box-sizing: border-box; |
|
74 | 74 | -webkit-box-sizing: border-box; |
|
75 | 75 | box-sizing: border-box; |
|
76 | } No newline at end of file | |
|
76 | } | |
|
77 | ||
|
78 | .compact-form-text > textarea { | |
|
79 | height: 100px; | |
|
80 | width: 100%; | |
|
81 | } |
@@ -1,45 +1,45 b'' | |||
|
1 |
var isCompact = |
|
|
1 | var isCompact = false; | |
|
2 | 2 | |
|
3 | 3 | $('input[name=image]').wrap($('<div class="file_wrap"></div>')); |
|
4 | 4 | |
|
5 | 5 | $('body').on('change', 'input[name=image]', function(event) { |
|
6 | 6 | var file = event.target.files[0]; |
|
7 | 7 | |
|
8 | 8 | if(file.type.match('image.*')) { |
|
9 | 9 | var fileReader = new FileReader(); |
|
10 | 10 | |
|
11 | 11 | fileReader.addEventListener("load", function(event) { |
|
12 | 12 | var wrapper = $('.file_wrap'); |
|
13 | 13 | |
|
14 | 14 | wrapper.find('.file-thumb').remove(); |
|
15 | 15 | wrapper.append( |
|
16 | 16 | $('<div class="file-thumb" style="background-image: url('+event.target.result+')"></div>') |
|
17 | 17 | ); |
|
18 | 18 | }); |
|
19 | 19 | |
|
20 | 20 | fileReader.readAsDataURL(file); |
|
21 | 21 | } |
|
22 | 22 | }); |
|
23 | 23 | |
|
24 | var compactForm = $('.swappable-form-compact'); | |
|
25 | 24 | var fullForm = $('.swappable-form-full'); |
|
26 | 25 | |
|
27 | 26 | function swapForm() { |
|
28 | compactForm.toggle(); | |
|
29 | fullForm.toggle(); | |
|
30 | ||
|
31 | 27 | if (isCompact) { |
|
32 | var oldText = compactForm.find('textarea')[0].value; | |
|
33 |
fullForm.find('textarea')[ |
|
|
28 | // TODO Use IDs (change the django form code) instead of absolute numbers | |
|
29 | fullForm.find('textarea').appendTo(fullForm.find('.form-row')[4]); | |
|
30 | fullForm.find('.file_wrap').appendTo(fullForm.find('.form-row')[7]); | |
|
31 | fullForm.find('.form-row').show(); | |
|
34 | 32 | } else { |
|
35 | var oldText = fullForm.find('textarea')[0].value; | |
|
36 | compactForm.find('textarea')[0].value = oldText; | |
|
33 | fullForm.find('textarea').appendTo($('.compact-form-text')); | |
|
34 | fullForm.find('.file_wrap').insertBefore($('.compact-form-text')); | |
|
35 | fullForm.find('.form-row').hide(); | |
|
36 | fullForm.find('input[type=text]').val(''); | |
|
37 | 37 | } |
|
38 | 38 | isCompact = !isCompact; |
|
39 | 39 | |
|
40 | 40 | scrollToBottom(); |
|
41 | 41 | } |
|
42 | 42 | |
|
43 | if (compactForm.length > 0) { | |
|
44 | fullForm.toggle(); | |
|
45 | } | |
|
43 | $(document).ready(function() { | |
|
44 | swapForm(); | |
|
45 | }) |
@@ -1,108 +1,95 b'' | |||
|
1 | 1 | {% extends "boards/base.html" %} |
|
2 | 2 | |
|
3 | 3 | {% load i18n %} |
|
4 | 4 | {% load cache %} |
|
5 | 5 | {% load static from staticfiles %} |
|
6 | 6 | {% load board %} |
|
7 | 7 | |
|
8 | 8 | {% block head %} |
|
9 | 9 | <title>{{ opening_post.get_title|striptags|truncatewords:10 }} |
|
10 | 10 | - {{ site_name }}</title> |
|
11 | 11 | {% endblock %} |
|
12 | 12 | |
|
13 | 13 | {% block content %} |
|
14 | 14 | {% spaceless %} |
|
15 | 15 | {% get_current_language as LANGUAGE_CODE %} |
|
16 | 16 | |
|
17 | 17 | {% cache 600 thread_view thread.id thread.last_edit_time moderator LANGUAGE_CODE %} |
|
18 | 18 | |
|
19 | 19 | <div class="image-mode-tab"> |
|
20 | 20 | <a class="current_mode" href="{% url 'thread' opening_post.id %}">{% trans 'Normal mode' %}</a>, |
|
21 | 21 | <a href="{% url 'thread_mode' opening_post.id 'gallery' %}">{% trans 'Gallery mode' %}</a> |
|
22 | 22 | </div> |
|
23 | 23 | |
|
24 | 24 | {% if bumpable %} |
|
25 | 25 | <div class="bar-bg"> |
|
26 | 26 | <div class="bar-value" style="width:{{ bumplimit_progress }}%" id="bumplimit_progress"> |
|
27 | 27 | </div> |
|
28 | 28 | <div class="bar-text"> |
|
29 | 29 | <span id="left_to_limit">{{ posts_left }}</span> {% trans 'posts to bumplimit' %} |
|
30 | 30 | </div> |
|
31 | 31 | </div> |
|
32 | 32 | {% endif %} |
|
33 | 33 | |
|
34 | 34 | <div class="thread"> |
|
35 | 35 | {% with can_bump=thread.can_bump %} |
|
36 | 36 | {% for post in thread.get_replies %} |
|
37 | 37 | {% if forloop.first %} |
|
38 | 38 | {% post_view post moderator=moderator is_opening=True thread=thread can_bump=can_bump opening_post_id=opening_post.id %} |
|
39 | 39 | {% else %} |
|
40 | 40 | {% post_view post moderator=moderator is_opening=False thread=thread can_bump=can_bump opening_post_id=opening_post.id %} |
|
41 | 41 | {% endif %} |
|
42 | 42 | {% endfor %} |
|
43 | 43 | {% endwith %} |
|
44 | 44 | </div> |
|
45 | 45 | |
|
46 | 46 | {% if not thread.archived %} |
|
47 | 47 | |
|
48 | 48 | <div class="post-form-w" id="form"> |
|
49 | 49 | <script src="{% static 'js/panel.js' %}"></script> |
|
50 | 50 | <div class="form-title">{% trans "Reply to thread" %} #{{ opening_post.id }}</div> |
|
51 | 51 | <div class="post-form" id="compact-form"> |
|
52 | <div class="swappable-form-compact"> | |
|
53 | <form enctype="multipart/form-data" method="post" | |
|
54 | >{% csrf_token %} | |
|
55 | <input type="file" name="image" accept="image/*"/> | |
|
56 | <div class="compact-form-text"> | |
|
57 | <textarea name="text" style="height: 100px; | |
|
58 | width: 100%; | |
|
59 | "></textarea> | |
|
60 | </div> | |
|
61 | <div class="form-submit"> | |
|
62 | <input type="submit" value="{% trans "Post" %}"/> | |
|
63 | </div> | |
|
64 | </form> | |
|
65 | </div> | |
|
66 | 52 | <div class="swappable-form-full"> |
|
67 | 53 | <form enctype="multipart/form-data" method="post" |
|
68 | 54 | >{% csrf_token %} |
|
55 | <div class="compact-form-text"></div> | |
|
69 | 56 | {{ form.as_div }} |
|
70 | 57 | <div class="form-submit"> |
|
71 | 58 | <input type="submit" value="{% trans "Post" %}"/> |
|
72 | 59 | </div> |
|
73 | 60 | </form> |
|
74 | 61 | </div> |
|
75 | 62 | <a onclick="swapForm(); return false;" href="#"> |
|
76 | 63 | {% trans 'Switch mode' %} |
|
77 | 64 | </a> |
|
78 | 65 | <div><a href="{% url "staticpage" name="help" %}"> |
|
79 | 66 | {% trans 'Text syntax' %}</a></div> |
|
80 | 67 | </div> |
|
81 | 68 | </div> |
|
82 | 69 | |
|
83 | 70 | <script src="{% static 'js/jquery.form.min.js' %}"></script> |
|
84 | 71 | <script src="{% static 'js/thread_update.js' %}"></script> |
|
85 | 72 | {% endif %} |
|
86 | 73 | |
|
87 | 74 | <script src="{% static 'js/form.js' %}"></script> |
|
88 | 75 | <script src="{% static 'js/thread.js' %}"></script> |
|
89 | 76 | |
|
90 | 77 | {% endcache %} |
|
91 | 78 | |
|
92 | 79 | {% endspaceless %} |
|
93 | 80 | {% endblock %} |
|
94 | 81 | |
|
95 | 82 | {% block metapanel %} |
|
96 | 83 | |
|
97 | 84 | {% get_current_language as LANGUAGE_CODE %} |
|
98 | 85 | |
|
99 | 86 | <span class="metapanel" data-last-update="{{ last_update }}"> |
|
100 | 87 | {% cache 600 thread_meta thread.last_edit_time moderator LANGUAGE_CODE %} |
|
101 | 88 | <span id="reply-count">{{ thread.get_reply_count }}</span>/{{ max_replies }} {% trans 'replies' %}, |
|
102 | 89 | <span id="image-count">{{ thread.get_images_count }}</span> {% trans 'images' %}. |
|
103 | 90 | {% trans 'Last update: ' %}<span id="last-update">{{ thread.last_edit_time }}</span> |
|
104 | 91 | [<a href="rss/">RSS</a>] |
|
105 | 92 | {% endcache %} |
|
106 | 93 | </span> |
|
107 | 94 | |
|
108 | 95 | {% endblock %} |
General Comments 0
You need to be logged in to leave comments.
Login now