Dodanie js/views/editor.js - widoku dla całego edytora.
[redakcja.git] / project / templates / explorer / editor.html
index 02a1c75..a6bcc41 100644 (file)
@@ -1,45 +1,73 @@
 {% extends "base.html" %}
 
 {% block extrahead %}
 {% extends "base.html" %}
 
 {% block extrahead %}
-    <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/editor.js" type="text/javascript" charset="utf-8"></script>
-    <script src="{{STATIC_URL}}js/editor.ui.js" type="text/javascript" charset="utf-8"></script>
+       <script type="text/javascript" charset="utf-8">
+               var fileId = '{{ fileid }}';
+       </script>
+    <script src="{{STATIC_URL}}js/lib/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
+       
+       {# Scriptlets #}
+       <script src="http://localhost:8000/api/toolbar/scriptlets" 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/editor.js" type="text/javascript" charset="utf-8"></script>
+       <script src="{{STATIC_URL}}js/views/button_toolbar.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/models.js" type="text/javascript" charset="utf-8"></script>
+       
+       {# JavaScript templates #}
+       <script type="text/html" charset="utf-8" id="panel-container-view-template">
+               <select>
+                       <% for (panel in panels) { %>
+                       <option value="<%= panel %>"><%= panel %></option>
+                       <% }; %>
+               </select>
+               <div class="content-view"></div>
+       </script>
+       
+       <script type="text/html" charset="utf-8" id="xml-view-template">
+               <div class="xmlview-toolbar"></div>
+               <div class="xmlview">
+                       
+               </div>
+       </script>
+       
+       <script type="text/html" charset="utf-8" id="html-view-template">
+               <div class="htmlview">
+               </div>
+       </script>
+       
+       <script type="text/html" charset="utf-8" id="button-toolbar-view-template">
+               <div class="buttontoolbarview">
+                       <div class="buttontoolbarview-tabs">
+                       <% for (var i=0; i < buttons.length; i++) { %>
+                               <a href="#" class="buttontoolbarview-tab" ui:groupindex="<%= i %>"><%= buttons[i].name %></a>
+                       <% }; %>
+                       </div>
+                       <div class="buttontoolbarview-groups">
+                       <% for (var i=0; i < buttons.length; i++) { %>
+                               <div class="buttontoolbarview-group" ui:groupIndex="<%= i %>" style="display: none">
+                                       <% for (var j=0; j < buttons[i].buttons.length; j++) { %>
+                                               <% if (buttons[i].buttons[j].scriptlet_id) { %>
+                                               <a href="#" class="buttontoolbarview-button" ui:groupindex="<%= i %>" ui:buttonindex="<%= j %>">
+                                                       <%= buttons[i].buttons[j].label %>
+                                               </a>
+                                               <% } %>
+                                       <% } %>
+                               </div>
+                       <% }; %>
+                       </div>
+               </div>
+       </script>
 {% endblock extrahead %}
 
 {% endblock extrahead %}
 
-{% 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">Merge</button>
-<button type="button" class="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>
-{% endblock %}
+{% block breadcrumbs %}<a href="{% url file_list %}">Platforma Redakcyjna</a> &gt; {{ fileid }}{% endblock breadcrumbs %}
 
 {% block message-box %}
     <div class="msg-info" id="save-waiting"><p>Zapisuję dane na serwerze.</p><p class="data"></p></div>
 
 {% block message-box %}
     <div class="msg-info" id="save-waiting"><p>Zapisuję dane na serwerze.</p><p class="data"></p></div>
     
 {% endblock %}
 
     
 {% endblock %}
 
+{% block header-toolbar %}
+       <button>Merge</button> <button>Update</button>
+{% endblock %}
+
 {% block maincontent %}
 {% 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>
-{% endblock maincontent %}    
+    {# <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 %}