Uproszczenie implementacji wzorca observer.
[redakcja.git] / project / templates / explorer / editor.html
index c7eadbf..c743308 100644 (file)
 {% extends "base.html" %}
 
 {% block extrahead %}
-    <link rel="stylesheet" href="/static/css/toolbar.css" type="text/css" />
-    <script src="/static/js/jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/jquery.autoscroll.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/jquery.wtooltip.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/jquery.hpanel.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/jquery.json.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/jquery.cookie.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/static/js/editor.js" type="text/javascript" charset="utf-8"></script>
+       <script type="text/javascript" charset="utf-8">
+               var fileId = '{{ fileid }}';
+       </script>
+    <link rel="stylesheet" href="{{STATIC_URL}}css/toolbar.css" type="text/css" />
+    <link rel="stylesheet" href="{{STATIC_URL}}css/jquery.modal.css" type="text/css" />
+    <script src="{{STATIC_URL}}js/lib/jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
+    <script src="{{STATIC_URL}}js/lib/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
+    <script src="{{STATIC_URL}}js/lib/jquery.wtooltip.js" type="text/javascript" charset="utf-8"></script>
+    <script src="{{STATIC_URL}}js/lib/jquery.json.js" type="text/javascript" charset="utf-8"></script>
+    <script src="{{STATIC_URL}}js/lib/jquery.cookie.js" type="text/javascript" charset="utf-8"></script>
+    <script src="{{STATIC_URL}}js/lib/jquery.modal.js" type="text/javascript" charset="utf-8"></script>
+       
+       {# App and views #}
+       <script src="{{STATIC_URL}}js/app.js" type="text/javascript" charset="utf-8"></script>
+       <script src="{{STATIC_URL}}js/views/view.js" type="text/javascript" charset="utf-8"></script>
+       <script src="{{STATIC_URL}}js/views/split.js" type="text/javascript" charset="utf-8"></script>
+       <script src="{{STATIC_URL}}js/views/xml.js" type="text/javascript" charset="utf-8"></script>
+       <script src="{{STATIC_URL}}js/views/html.js" type="text/javascript" charset="utf-8"></script>
+       <script src="{{STATIC_URL}}js/views/panel_container.js" type="text/javascript" charset="utf-8"></script>
+       
+    <script src="{{STATIC_URL}}js/editor.js" type="text/javascript" charset="utf-8"></script>
+    <script src="{{STATIC_URL}}js/editor.ui.js" type="text/javascript" charset="utf-8"></script>
+
+       {# JavaScript templates #}
+       <script type="text/html" charset="utf-8" id="panel-container-view-template">
+               <select>
+                       <% for (var i = 0; i < panels.length; i++) { %>
+                       <option value="<%= i %>"><%= panels[i].name %></option>
+                       <% }; %>
+               </select>
+               <div class="content-view"></div>
+       </script>
+       
+       <script type="text/html" charset="utf-8" id="xml-view-template">
+               <div class="xmlview">
+               </div>
+       </script>
+       
+       <script type="text/html" charset="utf-8" id="html-view-template">
+               <p>Hej! Jestem widokiem HTML!</p>
+       </script>
 {% endblock extrahead %}
 
-{% block breadcrumbs %}<a href="{% url file_list %}">Platforma Redakcyjna</a> ❯ plik {{ hash }}{% endblock breadcrumbs %}
+{% block extrabody %}
+    <script type="text/javascript" charset="utf-8">
+    $(function() {
+        {% for scriptlet in scriptlets %}
+        editor.registerScriptlet("{{scriptlet.name}}",
+            function(editor, panel, params) {
+                {{ scriptlet.code|safe }}
+            });
+        {% endfor %}
+     });  
+    </script>
+{% endblock extrabody %}
+
+{% load explorer_tags %}
+
+{% block breadcrumbs %}<a href="{% url file_list %}">Platforma Redakcyjna</a> &gt; {{ fileid|bookname }}{% endblock breadcrumbs %}
 
 {% block header-toolbar %}
-       <button type="button" class="toolbar-button" id="toolbar-button-commit">Commit</button>
-       <button type="button" class="toolbar-button" id="toolbar-button-save" disabled="disabled">Zapisz</button>
+<button type="button" class="requires-save toolbar-button" id="toolbar-button-commit">Merge</button>
+<button type="button" class="requires-save toolbar-button" id="toolbar-button-update"
+        ui:ajax-action="{% url file_update fileid %}">Update</button>
+<button type="button" class="provides-save toolbar-button" id="toolbar-button-save" disabled="disabled">Commit</button>
+<button type="button" class="provides-save toolbar-button" id="toolbar-button-quick-save" disabled="disabled">Quick Save</button>
 {% endblock %}
 
 {% block message-box %}
-    <div class="msg-success" id="save-successful"><p>Zapisano :)</p><p class="data" /></div>
-    <div class="msg-error" id="save-error"><p>Błąd przy zapisie.</p> <p class="data" /></div>
-    <div class="msg-warning" id="not-implemented"><p>Tej funkcji jeszcze nie ma :(</p><p class="data" /></div>
+    <div class="msg-info" id="save-waiting"><p>Zapisuję dane na serwerze.</p><p class="data"></p></div>
+    <div class="msg-success" id="save-successful"><p>Zapisano :)</p><p class="data"></p></div>
+    <div class="msg-warning" id="save-warn"><p>Zapisano. Uwagi: (</p><p class="data"></p></div>
+    <div class="msg-error" id="save-error"><p>Błąd przy zapisie.</p> <p class="data"></p></div>
+
+    <div class="msg-success" id="generic-yes"><p class="data"></p></div>
+    <div class="msg-info" id="generic-info"><p class="data"></p></div>
+    <div class="msg-error" id="generic-error"><p class="data"></p></div>
+    
+    <div class="msg-warning" id="not-implemented"><p>Tej funkcji jeszcze nie ma :(</p><p class="data"></p></div>
+    
 {% endblock %}
 
 {% block maincontent %}
-        <div id="panels">
-            {% for n in panel_list %}
-            <div class="panel-wrap{% if forloop.last %} last-panel{% endif %}" id="panel-{{n}}">
-                <div class="panel-toolbar">
-                    <label for="select-{{n}}-panel">{{n|capfirst}} panel:</label>
-                    <select name="select-{{n}}-panel" id="panel-{{n}}-select">
-                        <option value="{% url xmleditor_panel hash %}" name="xmleditor">Edytor XML</option>
-                        <option value="{% url htmleditor_panel hash %}" name="htmleditor">Edytor HTML</option>
-                        <option value="{% url gallery_panel hash %}" name="gallery">Galeria skanów</option>
-                        <option value="{% url dceditor_panel hash %}" name="dceditor">Edytor DublinCore</option>
-                    </select>
-                    <button type="button" class="refresh-button">Odśwież</button>
-                    <strong class="change-notification" style="display: none">Widok nieaktualny!</strong>
-               </div>
-               <div id="panel-{{n}}-content" class="panel-content"></div>
-               <button type="button" class="panel-slider"></button>
-            </div>
-            {% endfor %}
+       <div id="splitview">
+               <div id="left-panel-container" class='panel-container'></div>
+           <div id="right-panel-container" class='panel-container'></div>
+    </div>
+
+
+    <div id="commit-dialog" class="jqmWindow">
+        <form action="{% url file_commit fileid %}" method="POST">
+            <label for="message">Commit message:</label>
+            <textarea cols="60" rows="10" name="message" id="commit-dialog-message"></textarea>
+            <p id="commit-dialog-error-empty-message">Wiadomość nie może być pusta.</p>                
+            <fieldset id="commit-dialog-related-issues" 
+                      ui:ajax-src="http://localhost:3000/publications/issues/{{fileid}}">
+                <legend>Related issues</legend>
+                <div class="loading-box" style="display: none;">
+                    <p>Loading related issues...</p>
+                </div>
+                <div class="container-box">No related issues.</div>
+            </fieldset>
+            <p>
+               <input type="button" value="Save" id="commit-dialog-save-button" />
+               <input type="reset" value="Cancel" id="commit-dialog-cancel-button" />
+            </p>
+        </form>
+    </div>
+
+    <div id="split-dialog" class="jqmWindow">
+        <div class="container-box"> </div>
+        <div class="loading-box" style="display: none;">
+            <p>Loading dialog contents...</p>
+            <!-- <p><button type="button" class="dialog-close-button">Close</button></p> -->
+        </div>
+        <div class="fatal-error-box" style="display: none;">
+            <p>Server error, while loading dialog :(</p>
+            <p><button type="button" class="dialog-close-button">Close</button></p>
         </div>
+    </div>
 {% endblock maincontent %}