Эх сурвалжийг харах

[spark] Put back the add snippet panel

Johan Ahlen 10 жил өмнө
parent
commit
91eb980bb9

+ 3 - 1
apps/spark/src/spark/templates/editor_components.mako

@@ -231,9 +231,11 @@ from django.utils.translation import ugettext as _
             'helper': function(event){lastWindowScrollPosition = $(window).scrollTop(); $('.snippet-body').slideUp('fast', function(){ $('.sortable-snippets').sortable('refreshPositions') }); var _par = $('<div>');_par.addClass('card card-widget');var _title = $('<h2>');_title.addClass('card-heading simple');_title.html($(event.toElement).parents('h2').find('img').outerHTML());_title.appendTo(_par);_par.height(40);_par.width(120);return _par;}},
             dragged: function(widget){$('.snippet-body').slideDown('fast', function(){$(window).scrollTop(lastWindowScrollPosition); });}}">
       </div>
+      %if hasattr(caller, "addSnippetHTML"):
+        ${caller.addSnippetHTML()}
+      %endif
     </div>
   </div>
-
 </script>
 
 <script type="text/html" id="snippetIcon">

+ 14 - 1
apps/spark/src/spark/templates/notebook.mako

@@ -33,7 +33,20 @@ ${ commonheader(_('Notebook'), app_name, user, "68px") | n,unicode }
 </script>
 
 ${ editorComponents.includes() }
-${ editorComponents.commonHTML() }
+<%editorComponents:commonHTML>
+  <%def name="addSnippetHTML()">
+    <h1 class="empty" data-bind="visible: snippets().length == 0">${ _('Add a snippet to start your new notebook') }</h1>
+
+    <div class="add-snippet pointer" data-bind="click: function(notebook, e){ if (!($(e.target).is('select'))){ newSnippet(); } }">
+      <div class="overlay pointer">
+        <select data-bind="options: $root.availableSnippets, value: selectedSnippet, optionsText: 'name', optionsValue: 'type'" style="width: 115px">
+        </select>
+        <i class="fa fa-plus-circle fa-5x" title="${ _('Add a new snippet') }"></i>
+      </div>
+    </div>
+    <div class="overlay" style="padding-bottom:70px"></div>
+  </%def>
+</%editorComponents:commonHTML>
 
 ${ koComponents.jvmMemoryInput() }
 ${ koComponents.assistPanel() }