Dodanie toolbara z przyciskami.
[redakcja.git] / project / templates / explorer / file_xml.html
1 {% extends "base.html" %}
2
3 {% block extrahead %}
4     <script src="/static/js/jquery.fieldselection.js" type="text/javascript" charset="utf-8"></script>
5     <script src="/static/js/jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
6     <script src="/static/js/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
7     <script src="/static/js/jquery.autoscroll.js" type="text/javascript" charset="utf-8"></script>
8     <script type="text/javascript" charset="utf-8">        
9         $(function() {
10             $('#id_folders').change(function() {
11                 $('#images').load('{% url folder_image_ajax %}' + $('#id_folders').val() + '/', function() {
12                     $('#images').data('lastScroll', -1000);
13                 });
14             });
15             
16             function resizePanels() {
17                 $('iframe').width($(window).width() - $('#sidebar').outerWidth());
18                 $('iframe').height($(window).height() - 100);
19                 $('#images-wrap, #toggle-sidebar').height($(window).height() - 100);
20             }
21             
22             $('#toggle-sidebar').toggle(function() {
23                 $('#images-wrap').width(480);
24                 $('#sidebar').width(488);
25                 resizePanels();
26             }, function() {
27                 $('#images-wrap').width(0);
28                 $('#sidebar').width(8);
29                 resizePanels();
30             })
31             
32             $(window).resize(function() {
33                 resizePanels();
34             })
35             
36             var editor = CodeMirror.fromTextArea("id_text", {
37                 parserfile: 'parsexml.js',
38                 path: "/static/js/codemirror/",
39                 stylesheet: "/static/css/xmlcolors.css",
40                 parserConfig: {useHTMLKludges: false},
41                 initCallback: function() {
42                     $('#images').autoscroll('iframe');
43                     $('.toggleAutoscroll').toggle(function() {
44                         $(this).html('Synchronizuj przewijanie');
45                         $('#images').disableAutoscroll();
46                     }, function() {
47                         $(this).html('Nie synchronizuj przewijania');
48                         $('#images').enableAutoscroll();
49                     })
50                     
51                     $('#toolbar li p').click(function() {
52                         $('#toolbar ol:visible').hide();
53                         $(this).next('ol').show('fast');
54                     })
55
56                     var keys = {};
57                     $('#toolbar ol li').each(function() {
58                         var tag = $(this).attr('p:tag');
59                         var handler = function() {
60                             var text = editor.selection();
61                             editor.replaceSelection('<' + tag + '>' + text + '</' + tag + '>');
62                             if (text.length == 0) {
63                                 var pos = editor.cursorPosition();
64                                 editor.selectLines(pos.line, pos.character + tag.length + 2);
65                             }
66                         }
67                         if ($(this).attr('p:key')) {
68                             keys[$(this).attr('p:key')] = handler;
69                         }
70                         $(this).click(handler)
71                     });
72                     
73                     editor.grabKeys(function(event) { 
74                         console.log('handle', event, event.keyCode)
75                         if (keys[event.keyCode]) {
76                             keys[event.keyCode]();
77                         }
78                     }, function(event) { return event.ctrlKey && event.keyCode != 17; });
79
80                     resizePanels();
81                 }
82             });
83             
84             $('#images-wrap').lazyload('.image-box', {threshold: 640 * 10, scrollTreshold: 640 * 5});
85         });
86
87     </script>
88 {% endblock extrahead %}
89
90 {% block breadcrumbs %}<a href="{% url file_list %}">Platforma Redakcyjna</a> ❯ plik {{ hash }}{% endblock breadcrumbs %}
91
92 {% block maincontent %}
93     <ol id="toolbar">
94         <li>
95             <p>Nagłówki</p>
96             <ol style="display:none">
97                 <li p:tag="czesc" p:key="65">część/księga</li>
98                 <li p:tag="rozdzial" p:key="83">rozdział</li>
99                 <li p:tag="podrozdzial">podrozdział</li>
100                 <li p:tag="srodtytul">śródtytuł</li>
101                 <li p:tag="akt">akt</li>
102             </ol>
103         </li>
104         <li>
105             <p>Struktr. i mastery</p>
106             <ol style="display:none">
107                 <li p:tag="utwor">tagi główne</li>
108                 <li p:tag="opowiadanie">opowiadanie</li>
109                 <li p:tag="powiesc">powieść</li>
110                 <li p:tag="dramat_wierszowany_l">dramat wiersz.</li>
111                 <li p:tag="dramat_wierszowany_lp">dramat wiersz./w. łam</li>
112                 <li p:tag="dramat_wspolczesny">dramat współcz.</li>
113                 <li p:tag="liryka_l">liryka</li>
114                 <li p:tag="liryka_lp">liryka/w. łam</li>
115                 <li p:tag="wywiad">wywiad</li>
116             </ol>
117         </li>
118         <li>
119             <p>Dramat wiersz.</p>
120             <ol style="display:none">
121                 <li p:tag="wers_wciety">wers m. wcięty</li>
122                 <li p:tag="wers_cd">wers cd.</li>
123                 <li p:tag="wers_wciety">wers wcięty</li>
124                 <li p:tag="wers_akap">wers akap.</li>
125                 <li p:tag="strofa">kwestiostrofa cd.</li>
126                 <li p:tag="kwestia">kwestia</li>
127                 <li p:tag="strofa">kwestiostrofa</li>
128                 <li p:tag="strofa">strofa</li>
129                 <li p:tag="strofa">strofa cd.</li>
130                 <li p:tag="didaskalia">didask.</li>
131                 <li p:tag="akap">kwestioakap</li>
132             </ol>
133         </li>
134         <li>
135             <p>Elementy początk.</p>
136             <ol style="display:none">
137                 <li p:tag="autor">autor</li>
138                 <li p:tag="tytul">tytuł</li>
139                 <li p:tag="podtytul">podtytuł</li>
140                 <li p:tag="nota">nota</li>
141                 <li p:tag="dedykacja">dedykacja</li>
142                 <li p:tag="motto">motto</li>
143                 <li p:tag="motto_podpis">motto-podp.</li>
144                 <li p:tag="dzielo_nadrzedne">dzieło nadrzędne</li>
145             </ol>
146         </li>
147         {# <li>Akapity i dł. cyt.</li> #}
148         {# <li>Style znakowe</li> #}
149         
150         <div style="clear: both; height: 0; width: 0">&nbsp;</div>
151     </ol>
152     
153     <form action="." method="post" accept-charset="utf-8">
154         <div id="panels">
155             <div id="sidebar">
156                 <div id="images-wrap">
157                     <div id="images">
158                         <p>Aby zobaczyć obrazki wybierz folder poniżej:</p>
159                         <p>{{ image_folders_form.folders }}</p>
160                     </div>
161                 </div>
162                 <div id="toggle-sidebar"></div>
163             </div>
164             <textarea id="id_text" name="text" width="480px">{{ form.text.field.initial }}</textarea>
165         </div>
166         
167         <div id="status-bar">
168             {{ form.user.errors }} {{ form.commit_message.errors }}
169             <p>
170                 Użytkownik: {{ form.user }}
171                 Opis zmian: {{ form.commit_message }}
172                 <input type="submit" value="Zapisz"/>
173                 <a href="#" class="toggleAutoscroll" style="float: right">Nie synchronizuj przewijania</a>
174             </p>
175         </div>
176     </form>
177 {% endblock maincontent %}