Uproszczenie implementacji wzorca observer.
[redakcja.git] / project / templates / explorer / editor.html
index 02a1c75..c743308 100644 (file)
@@ -1,18 +1,47 @@
 {% extends "base.html" %}
 
 {% block extrahead %}
+       <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/jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
-    <script src="{{STATIC_URL}}js/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
-    <!--<script src="{{STATIC_URL}}js/jquery.autoscroll.js" type="text/javascript" charset="utf-8"></script>-->
-    <script src="{{STATIC_URL}}js/jquery.wtooltip.js" type="text/javascript" charset="utf-8"></script>
-    <script src="{{STATIC_URL}}js/jquery.json.js" type="text/javascript" charset="utf-8"></script>
-    <script src="{{STATIC_URL}}js/jquery.cookie.js" type="text/javascript" charset="utf-8"></script>
-    <script src="{{STATIC_URL}}js/jquery.modal.js" type="text/javascript" charset="utf-8"></script>
-
+    <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 extrabody %}
     </script>
 {% endblock extrabody %}
 
- {% load explorer_tags %}
+{% 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">Merge</button>
-<button type="button" class="toolbar-button" id="toolbar-button-update"
+<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="toolbar-button" id="toolbar-button-save" disabled="disabled">Save</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 %}
 {% 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">
-                    <p><label>{{n|capfirst}} panel:
-                    <select name="select-{{n}}-panel" id="panel-{{n}}-select">
-                        {% for panel_type in availble_panels %}
-                        <option value="{% url panel_view path=fileid,name=panel_type.id  %}" p:panel-name="{{ panel_type.id }}">{{panel_type.display_name}}</option>
-                        {% endfor %}
-                    </select>
-                    </label>
-                    <span class="toolbar-button-groups-container">
-                    <span class="panel-toolbar-extra" > </span>
-                    </span>
-                    <!-- rethink the refresh button - it doesn't work very well -->
-                    <!-- <button type="button" class="refresh-button">Odśwież</button> -->
-                    {# <a href="{% url print_xml fileid %}" target="_new">Wydruk</a> #}
-                    <strong class="change-notification" style="display: none">Widok nieaktualny!</strong>
-                    </p>
-               </div>
-               <div id="panel-{{n}}-content" class="panel-content"></div>
-               <button type="button" class="panel-slider"></button>
-            </div>
-            {% endfor %}
-        </div>
+       <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="submit" 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 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 %}