Mercurial > p > roundup > code
annotate website/issues/html/issue.item.html @ 6454:83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
Move file description from below the file upload into the table on
same line as file upload.
Implement
https://wiki.roundup-tracker.org/FileUploadViaDragDropAndPaste
for table structure. Added creation of description field along with
file input field.
On tables align header fields that do not span rows (i.e. column
headers) on the left. Table titles/grouping span multiple columns.
Also do not align column headers left on the index page which uses the
.list class.
Also add some padding to th to increase space and improve readability.
For message and files tables make them 95% of the width of their
container. It makes the headers for messages and files more readable
by adding space.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 05 Jul 2021 01:24:37 -0400 |
| parents | 6ad3b2d46852 |
| children | a2c340261290 |
| rev | line source |
|---|---|
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
1 <tal:block metal:use-macro="templates/page/macros/icing"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
2 <title metal:fill-slot="head_title"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
3 <tal:block condition="context/id" i18n:translate="" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
4 >Issue <span tal:replace="context/id" i18n:name="id" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
5 />: <span tal:replace="context/title" i18n:name="title" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
6 /> - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
7 /></tal:block> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
8 <tal:block condition="not:context/id" i18n:translate="" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
9 >New Issue - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
10 /></tal:block> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
11 </title> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
12 <tal:block metal:fill-slot="body_title"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
13 <span tal:condition="python: not (context.id or context.is_edit_ok())" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
14 tal:omit-tag="python:1" i18n:translate="">New Issue</span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
15 <span tal:condition="python: not context.id and context.is_edit_ok()" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
16 tal:omit-tag="python:1" i18n:translate="">New Issue Editing</span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
17 <span tal:condition="python: context.id and not context.is_edit_ok()" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
18 tal:omit-tag="python:1" i18n:translate="">Issue <tal:x |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
19 replace="context/id" i18n:name="id" /></span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
20 <span tal:condition="python: context.id and context.is_edit_ok()" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
21 tal:omit-tag="python:1" i18n:translate="">Issue<tal:x |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
22 replace="context/id" i18n:name="id" /> Editing</span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
23 </tal:block> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
24 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
25 <td class="content" metal:fill-slot="content"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
26 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
27 <p tal:condition="python:not (context.is_view_ok() |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
28 or request.user.hasRole('Anonymous'))" i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
29 You are not allowed to view this page.</p> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
30 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
31 <p tal:condition="python:not context.is_view_ok() |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
32 and request.user.hasRole('Anonymous')" i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
33 Please login with your username and password.</p> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
34 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
35 <div tal:condition="context/is_view_ok"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
36 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
37 <form method="POST" name="itemSynopsis" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
38 onSubmit="return submit_once()" enctype="multipart/form-data" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
39 tal:attributes="action context/designator"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
40 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
41 <fieldset><legend>classification</legend> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
42 <table class="form"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
43 <tr> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
44 <th class="required"><label for="title" i18n:translate="">Title:</label></th> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
45 <td colspan="3" tal:condition="context/title/is_edit_ok" |
| 6307 | 46 tal:content="structure python:context.title.field(id='title', size=60)">title</td> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
47 <td colspan="3" tal:condition="not:context/title/is_edit_ok"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
48 <span tal:content="structure context/title/plain"/> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
49 <input type="hidden" name="title" tal:attributes="value context/title"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
50 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
51 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
52 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
53 <tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
54 <th class="required" i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
55 <span tal:replace="structure python:db.issue_type.classhelp('id,name,description',label='Type')" />: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
56 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
57 <td tal:content="structure context/type/menu">type</td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
58 <th i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
59 <span tal:replace="structure python:db.severity.classhelp('id,name,description',label='Severity')" />: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
60 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
61 <td tal:content="structure context/severity/menu">components</td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
62 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
63 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
64 <tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
65 <th i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
66 <span tal:replace="structure python:db.component.classhelp('id,name,description',label='Components')" />: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
67 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
68 <td tal:content="structure context/components/menu">components</td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
69 <th i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
70 <span tal:replace="structure python:db.version.classhelp('id,name,description',label='Versions')" />: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
71 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
72 <td tal:content="structure context/versions/menu">versions</td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
73 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
74 </table> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
75 </fieldset> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
76 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
77 <fieldset><legend>process</legend> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
78 <table class="form"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
79 <tr tal:condition="context/id"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
80 <th i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
81 <span tal:replace="structure python:db.status.classhelp('id,name,description',label='Status')" />: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
82 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
83 <td tal:content="structure context/status/menu">status</td> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
84 <th><label for="resolution" i18n:translate="">Resolution:</label></th> |
| 6307 | 85 <td tal:content="structure python:context.resolution.menu(html_kwargs={'id':'resolution'})">resolution</td> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
86 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
87 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
88 <tr tal:condition="context/id"> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
89 <th> <label for="dependencies" i18n:translate="">Dependencies</label> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
90 <span tal:condition="context/dependencies/is_edit_ok" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
91 tal:replace="structure python:db.issue.classhelp('id,title', filter='status=0,1', property='dependencies')" /> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
92 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
93 <td> |
| 6307 | 94 <span tal:replace="structure python:context.dependencies.field(id='dependencies',showid=1,size=20)" /> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
95 <span tal:condition="context/dependencies" tal:repeat="d python:context.dependencies.sorted('creation')"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
96 <br/>View: <a tal:attributes="href string:issue${d/id}" tal:content="d/id"></a> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
97 </span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
98 </td> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
99 <th> |
|
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
100 <tal:block><label for="superseder" i18n:translate="">Superseder</label></tal:block>: |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
101 <span tal:condition="context/superseder/is_edit_ok" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
102 tal:replace="structure python:db.issue.classhelp('id,title', filter='status=0,1', property='superseder')" /> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
103 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
104 <td> |
| 6307 | 105 <span tal:replace="structure python:context.superseder.field(id='superseder', showid=1, size=20)" /> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
106 <span tal:condition="context/superseder"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
107 <!-- <br><span i18n:translate="">View</span>: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
108 <a tal:repeat="sup context/superseder" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
109 tal:content="python:sup['id'] + ', '*(not repeat['sup'].end)" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
110 tal:attributes="href string:issue${sup/id}; title sup/title;"></a> --> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
111 <br><span i18n:translate="">View</span>: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
112 <a tal:content="context/superseder/id" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
113 tal:attributes="href string:issue${context/superseder/id}; title context/superseder/title;"></a> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
114 </span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
115 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
116 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
117 <tr> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
118 <th><label for="assignee" i18n:translate="">Assigned To</label>:</th> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
119 <td tal:condition="context/status/is_edit_ok"> |
| 6307 | 120 <select id="assignee" name="assignee"> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
121 <option value="-1">nobody</option> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
122 <tal:block tal:repeat="userdata python:db._db.user.filter_sql('select id,_username from _user where _roles like \'%Developer%\' order by _username')"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
123 <option tal:attributes="value python:userdata[0]; |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
124 selected python:str(userdata[0]) == context.assignee._value" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
125 tal:content="python:userdata[1]"></option> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
126 </tal:block> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
127 </select> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
128 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
129 <td tal:condition="not:context/assignee/is_edit_ok"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
130 <span tal:replace="structure context/assignee/plain" /> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
131 </td> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
132 <th><label for="nosy" i18n:translate="">Nosy List</label>: |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
133 <span tal:condition="context/nosy/is_edit_ok" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
134 tal:replace="structure python:db.user.classhelp('username,realname,address', property='nosy')" /> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
135 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
136 <td> |
| 6307 | 137 <span tal:replace="structure python:context.nosy.field(id='nosy')" /> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
138 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
139 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
140 <tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
141 <th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
142 <span tal:replace="structure python:db.priority.classhelp('id,name,description',label='Priority')" />: |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
143 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
144 <td tal:content="structure context/priority/menu">priority</td> |
| 6307 | 145 <th><label for="keywords" i18n:translate="">Keywords</label>:</th> |
| 146 <td tal:content="structure python:context['keywords'].menu(height=5,html_kwargs={'id': 'keywords'})">keywords</td> | |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
147 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
148 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
149 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
150 <tr tal:condition="context/is_edit_ok"> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
151 <th><label for="@note" i18n:translate="">Comment</label>:</th> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
152 <td colspan="3"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
153 <textarea tal:content="request/form/@note/value | default" |
| 6307 | 154 id="@note" name="@note" wrap="hard" rows="10" cols="72"></textarea> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
155 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
156 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
157 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
158 <tr tal:condition="context/is_edit_ok"> |
|
6306
871dc7904d7a
Add labels for some inputs on issue.item.
John Rouillard <rouilj@ieee.org>
parents:
4644
diff
changeset
|
159 <th><label for="file-1@content" i18n:translate="">File</label>:</th> |
|
6454
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
160 <td> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
161 <input type="hidden" name="@link@files" value="file-1"> |
| 6307 | 162 <input type="file" id="file-1@content" name="file-1@content" size="40"> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
163 </td> |
|
6454
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
164 <th><label for="file-1@description" i18n:translate="">File Description</label>:</th> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
165 <td colspan=3><input type="edit" id="file-1@description" name="file-1@description" size="40"></td> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
166 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
167 <tr tal:condition="context/is_edit_ok"> |
|
6454
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
168 <td colspan=4> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
169 <textarea readonly id="DropZone"> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
170 paste images or drag and drop files here.... |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
171 </textarea> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
172 </td> |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
173 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
174 </table> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
175 </fieldset> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
176 <table class="form"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
177 <tr tal:condition="context/is_edit_ok"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
178 <td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
179 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
180 <input type="hidden" name="@template" value="item"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
181 <input type="hidden" name="@required" value="title"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
182 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
183 <td colspan=3> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
184 <span tal:replace="structure context/submit">submit button</span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
185 <a tal:condition="context/id" tal:attributes="href context/copy_url" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
186 i18n:translate="">Make a copy</a> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
187 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
188 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
189 </table> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
190 </form> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
191 |
|
6454
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
192 <!-- drag and drop code --> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
193 <script tal:attributes="nonce request/client/client_nonce"> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
194 /* multiple file drops cause issues with redefined |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
195 file-X@content issues. input multiple assumes |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
196 it can start numbering from 1 for each of the |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
197 multiple files. However numbering here does the |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
198 same leading to duplicate file-2@content. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
199 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
200 layout needs some work, alignnment of new file |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
201 input's isn't great. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
202 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
203 Need a way to delete or reset file inputs so file |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
204 assigned to them isn't uploaded. Clicking on button |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
205 in chrome and then canceling unsets the file. But this |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
206 sequence does nothing in firefox. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
207 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
208 Pasting always uses image.<type> can't name file. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
209 Need to query user during paste for name/description. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
210 */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
211 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
212 let newInput=null; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
213 let NextInputNum = 100; /* file input 1 is hardcoded in form. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
214 It is a multiple file input control. To |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
215 prevent collision, we start dynamic file controls at |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
216 file-100@content. 100 is larger than we expect |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
217 the number of files uploaded using file input 1.*/ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
218 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
219 let target = document.getElementById('DropZone'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
220 target.style.display = "block"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
221 let body = document.body; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
222 let fileInput = document.getElementById('file-1@content'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
223 let fileDesc = document.getElementById('file-1@description'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
224 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
225 function add_file_input () { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
226 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
227 // Only allow one change listener on newest input. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
228 fileInput.removeEventListener('change', |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
229 add_file_input, |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
230 false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
231 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
232 /* create new file input to get next dragged file */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
233 /* <input type="file" name="file-2@content"> for 2, |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
234 3, 4, ... */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
235 newInput=document.createElement('input'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
236 newInput.type="file"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
237 newInput.id="file-" + NextInputNum +"@content"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
238 newInput.name=newInput.id; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
239 fileInput = fileInput.insertAdjacentElement('afterend', |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
240 newInput); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
241 // add change hander to newest file input |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
242 fileInput.addEventListener('change', |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
243 add_file_input, // create new input for more files |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
244 false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
245 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
246 /* link file-N to list of files on issue. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
247 also link to msg-1 */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
248 addLink=document.createElement('input'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
249 addLink.type="hidden"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
250 addLink.id="@link@file=file-" + NextInputNum; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
251 addLink.name="@link@files" |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
252 addLink.value="file-" + NextInputNum; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
253 fileInput.insertAdjacentElement('afterend', addLink); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
254 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
255 addLink=document.createElement('input'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
256 addLink.type="hidden"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
257 addLink.id="msg-1@link@files=file-" + NextInputNum; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
258 addLink.name="msg-1@link@files" |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
259 addLink.value="file-" + NextInputNum |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
260 fileInput.insertAdjacentElement('afterend', addLink); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
261 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
262 addLink=document.createElement('input'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
263 addLink.type="edit"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
264 addLink.id="file-" + NextInputNum + "@description"; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
265 addLink.name=addLink.id |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
266 addLink.size = 40 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
267 fileDesc=fileDesc.insertAdjacentElement('afterend', addLink); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
268 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
269 NextInputNum = NextInputNum+1; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
270 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
271 } |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
272 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
273 function MarkDropZone(e, active) { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
274 active == true ? e.style.backgroundColor = "goldenrod" : |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
275 e.style.backgroundColor = ""; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
276 } |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
277 fileInput.addEventListener('change', |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
278 add_file_input, // create new input for more files |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
279 false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
280 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
281 target.addEventListener('dragover', (e) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
282 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
283 body.classList.add('dragging'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
284 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
285 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
286 target.addEventListener('dragenter', (e) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
287 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
288 MarkDropZone(target, true); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
289 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
290 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
291 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
292 target.addEventListener('dragleave', (e) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
293 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
294 MarkDropZone(target, false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
295 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
296 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
297 target.addEventListener('dragleave', () => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
298 body.classList.remove('dragging'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
299 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
300 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
301 target.addEventListener('drop', (e) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
302 body.classList.remove('dragging'); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
303 MarkDropZone(target, false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
304 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
305 // Only allow single file drop unless |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
306 // fileInput name is @file that can support |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
307 // multiple file drop and file drop is multiple. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
308 if (( fileInput.name != "@file" || |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
309 ! fileInput.hasAttribute('multiple')) && |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
310 e.dataTransfer.files.length != 1 ) { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
311 alert("File input can only accept one file.") |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
312 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
313 return |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
314 } |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
315 // set file input files to the dragged files |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
316 fileInput.files = e.dataTransfer.files; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
317 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
318 add_file_input(); // create new input for more files |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
319 // run last otherwise firefox empties e.dataTransfer |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
320 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
321 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
322 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
323 target.addEventListener('mouseover', (e) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
324 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
325 MarkDropZone(target, true); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
326 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
327 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
328 target.addEventListener('mouseout', (e) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
329 e.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
330 MarkDropZone(target, false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
331 }); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
332 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
333 target.addEventListener('paste', (event) => { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
334 // https://mobiarch.wordpress.com/2013/09/25/upload-image-by-copy-and-paste/ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
335 // add paste event listener to the page |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
336 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
337 // https://stackoverflow.com/questions/50427513/ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
338 // html-paste-clipboard-image-to-file-input |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
339 if ( event.clipboardData.files.length == 0) { |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
340 // if not file data alert |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
341 alert("No image found for pasting"); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
342 event.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
343 return; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
344 } |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
345 fileInput.files = event.clipboardData.files; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
346 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
347 /* Possible enhancement if file check fails. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
348 iterate over all items 0 ...: |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
349 event.clipboardData.items.length |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
350 look at all items[i].kind for 'string' and |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
351 items[i].type looking for a text/plain item. If |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
352 found, |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
353 event.clipboardData.items[1].getAsString( |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
354 callback_fcn(s)) |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
355 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
356 where callback function that creates a new |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
357 dataTransfer object with a file and insert the |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
358 content s and assigns it to the input. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
359 |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
360 https://gist.github.com/guest271314/7eac2c21911f5e40f489\33ac78e518bd |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
361 */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
362 add_file_input(); // create new input for more files |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
363 // do not paste contents to dropzone |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
364 event.preventDefault(); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
365 }, false); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
366 </script> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
367 <style tal:attributes="nonce request/client/client_nonce"> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
368 #FileArea input[type=file] ~ input[type=file] {display:block;} |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
369 #DropZone { /* don't display dropzone by default. |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
370 Displayed as block by javascript. */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
371 display:none; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
372 width: 100%; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
373 /* override textarea inset */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
374 border-style: dashed; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
375 padding: 3ex 0; /* larger dropzone */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
376 /* add space below inputs */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
377 margin-block-start: 1em; |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
378 /* lighter color */ |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
379 background: rgba(255,255,255,0.4); |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
380 } |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
381 </style> |
|
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
382 |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
383 <p tal:condition="context/id" i18n:translate=""> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
384 Created on <b><tal:x replace="python:context.creation.pretty('%Y-%m-%d %H:%M')" i18n:name="creation" /></b> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
385 by <b><tal:x replace="context/creator" i18n:name="creator" /></b>, |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
386 last changed <b><tal:x replace="python:context.activity.pretty('%Y-%m-%d %H:%M')" i18n:name="activity" /></b> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
387 by <b><tal:x replace="context/actor" i18n:name="actor" /></b>. |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
388 </p> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
389 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
390 <table class="files" tal:condition="context/files"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
391 <tr><th colspan="5" class="header" i18n:translate="">Files</th></tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
392 <tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
393 <th i18n:translate="">File name</th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
394 <th i18n:translate="">Uploaded</th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
395 <th i18n:translate="">Description</th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
396 <th i18n:translate="">Edit</th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
397 <th i18n:translate="">Remove</th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
398 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
399 <tr tal:repeat="file python:context.files.sorted('creation')"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
400 <td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
401 <a tal:attributes="href file/download_url" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
402 tal:content="file/name">dld link</a> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
403 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
404 <td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
405 <span tal:content="file/creator">creator's name</span>, |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
406 <span tal:content="python:file.creation.pretty('%Y-%m-%d %H:%M')">creation date</span> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
407 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
408 <td tal:content="file/description" /> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
409 <td><a tal:condition="file/is_edit_ok" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
410 tal:attributes="href string:file${file/id}">edit</a> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
411 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
412 <td> |
|
4644
20e0e5ce217f
Tracker: Following upgrading docs for the "retire" and "remove" buttons.
Bernhard Reiter <bernhard@intevation.de>
parents:
4024
diff
changeset
|
413 <form style="padding:0" method="POST" tal:condition="file/is_edit_ok" |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
414 tal:attributes="action string:issue${context/id}"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
415 <input type="hidden" name="@remove@files" tal:attributes="value file/id"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
416 <input type="hidden" name="@action" value="edit"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
417 <input type="submit" value="remove" i18n:attributes="value"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
418 </form> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
419 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
420 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
421 </table> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
422 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
423 <table class="messages" tal:condition="context/messages"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
424 <tr><th colspan="4" class="header" i18n:translate="">Messages</th></tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
425 <tal:block tal:repeat="msg context/messages"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
426 <tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
427 <th><a tal:attributes="href string:msg${msg/id}" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
428 i18n:translate="">msg<tal:x replace="msg/id" i18n:name="id" /></a></th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
429 <th i18n:translate="">Author: <tal:x replace="python:msg.author.realname.plain()" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
430 i18n:name="author" /> (<tal:x replace="msg/author"/>)</th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
431 <th i18n:translate="">Date: <tal:x replace="python:msg.date.pretty('%Y-%m-%d %H:%M')" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
432 i18n:name="date" /></th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
433 <th> |
|
4644
20e0e5ce217f
Tracker: Following upgrading docs for the "retire" and "remove" buttons.
Bernhard Reiter <bernhard@intevation.de>
parents:
4024
diff
changeset
|
434 <form style="padding:0" method="POST" tal:condition="msg/is_edit_ok" |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
435 tal:attributes="action string:issue${context/id}"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
436 <input type="hidden" name="@remove@messages" tal:attributes="value msg/id"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
437 <input type="hidden" name="@action" value="edit"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
438 <input type="submit" value="remove" i18n:attributes="value"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
439 </form> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
440 </th> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
441 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
442 <tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
443 <td colspan="4" class="content"> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
444 <pre tal:condition="python:msg.content.is_view_ok()" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
445 tal:content="structure python:utils.localReplace(msg.content.hyperlinked())">content</pre> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
446 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
447 </tr> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
448 </tal:block> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
449 </table> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
450 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
451 <tal:block tal:condition="context/id" tal:replace="structure context/history" /> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
452 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
453 </div> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
454 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
455 </td> |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
456 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
457 </tal:block> |
|
6454
83b67f65b8ff
Implement file upload by drag and drop and paste. Table formatting
John Rouillard <rouilj@ieee.org>
parents:
6307
diff
changeset
|
458 <!-- SHA: ad841842c0da5f9d1a7f69a1e0c847a549b75bf2 --> |
