瀏覽代碼

HUE-7064 [editor] Integrate sharing button into the Editor

jdesjean 8 年之前
父節點
當前提交
e87ed34

+ 1 - 1
desktop/core/src/desktop/templates/common_share.mako

@@ -23,7 +23,7 @@ from django.utils.translation import ugettext as _
     <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">&times;</span></button>
     <h2 class="modal-title">${_('Sharing settings')}</h2>
   </div>
-  <div class="modal-body">
+  <div class="modal-body" style="overflow-y: visible; height: 240px">
     <div class="row-fluid">
       <div class="span6">
         <h4 class="muted" style="margin-top:0px">${_('Read')}</h4>

+ 2 - 1
desktop/libs/notebook/src/notebook/templates/editor.mako

@@ -14,7 +14,7 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 <%!
-  from desktop.views import commonheader, commonfooter
+  from desktop.views import commonheader, commonfooter, commonshare
   from desktop import conf
   from django.utils.translation import ugettext as _
 %>
@@ -27,6 +27,7 @@
 
 %if not is_embeddable:
 ${ commonheader(_('Editor'), editor_type, user, request, "68px") | n,unicode }
+${ commonshare() | n,unicode }
 %endif
 
 <span id="editorComponents" class="editorComponents notebook">

+ 14 - 0
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -48,6 +48,7 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 <script src="${ static('desktop/ext/js/knockout-sortable.min.js') }"></script>
 <script src="${ static('desktop/js/ko.charts.js') }"></script>
 <script src="${ static('desktop/js/ko.editable.js') }"></script>
+<script src="${ static('desktop/js/share2.vm.js') }"></script>
 % endif
 
 <script src="${ static('desktop/ext/js/clipboard.min.js') }"></script>
@@ -215,9 +216,15 @@ ${ sqlSyntaxDropdown.sqlSyntaxDropdown() }
               </a>
             </li>
           </ul>
+          <a class="share-link btn" rel="tooltip" data-placement="bottom" data-bind="click: prepareShareModal,
+            attr: {'data-original-title': '${ _ko("Share") } ' + name},
+            css: {'isShared': isShared(), 'btn': true}">
+            <i class="fa fa-users"></i>
+          </a>
           <!-- /ko -->
         </div>
 
+
         <!-- ko ifnot: editorMode -->
         <div class="btn-group">
           <a class="btn dropdown-toggle" data-toggle="dropdown">
@@ -1933,6 +1940,7 @@ ${ sqlSyntaxDropdown.sqlSyntaxDropdown() }
   % else:
   var MAIN_SCROLLABLE = '.content-panel';
   var HUE_PUB_SUB_EDITOR_ID = 'editor';
+  var shareViewModel = initSharing("#documentShareModal");
   % endif
 
 
@@ -1971,6 +1979,12 @@ ${ sqlSyntaxDropdown.sqlSyntaxDropdown() }
     return text;
   }
 
+  function prepareShareModal () {
+    var selectedNotebookUuid = this.selectedNotebook() && this.selectedNotebook().uuid();
+    shareViewModel.setDocUuid(this.selectedNotebook().uuid());
+    openShareModal();
+  };
+
   function createHueDatatable(el, snippet, vm) {
     var DATATABLES_MAX_HEIGHT = 330;
     var _dt = $(el).hueDataTable({