Преглед изворни кода

HUE-7743 [frontend] Append new elements to the embedded container instead of body in embedded mode

Johan Ahlen пре 8 година
родитељ
комит
c187d77aff
20 измењених фајлова са 36 додато и 33 уклоњено
  1. 4 4
      apps/filebrowser/src/filebrowser/templates/listdir_components.mako
  2. 6 6
      apps/jobsub/src/jobsub/templates/designs.mako
  3. 1 1
      apps/rdbms/src/rdbms/templates/execute.mako
  4. 2 2
      desktop/core/src/desktop/static/desktop/js/ace.extended.js
  5. 1 1
      desktop/core/src/desktop/static/desktop/js/hue.utils.js
  6. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.blueprint.js
  7. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.hdfsautocomplete.js
  8. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.hiveautocomplete.js
  9. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.huedatatable.js
  10. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.notify.js
  11. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.scrollleft.js
  12. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.scrollup.js
  13. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.tableextender.js
  14. 5 5
      desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js
  15. 1 1
      desktop/core/src/desktop/templates/common_header_footer_components.mako
  16. 1 1
      desktop/core/src/desktop/templates/document_browser.mako
  17. 3 0
      desktop/core/src/desktop/templates/global_js_constants.mako
  18. 1 1
      desktop/core/src/desktop/templates/ko_components/ko_context_popover.mako
  19. 1 1
      desktop/core/src/desktop/templates/sql_syntax_dropdown.mako
  20. 2 2
      desktop/libs/dashboard/src/dashboard/templates/common_search.mako

+ 4 - 4
apps/filebrowser/src/filebrowser/templates/listdir_components.mako

@@ -861,7 +861,7 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
         showContextMenu: function (row, e) {
           var cm = $('.context-menu'),
             actions = $('#ch-dropdown'),
-            rect = document.querySelector('body').getBoundingClientRect();
+            rect = document.querySelector(HUE_CONTAINER).getBoundingClientRect();
 
           e.stopPropagation();
 
@@ -1995,17 +1995,17 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
 
     $(document).ready(function () {
       // hide context menu
-      $('body').on('click', function (e) {
+      $(HUE_CONTAINER).on('click', function (e) {
         hideContextMenu();
       });
 
-      $('body').on('contextmenu', function (e) {
+      $(HUE_CONTAINER).on('contextmenu', function (e) {
         if ($.inArray(e.toElement, $('.table-huedatatable *')) === -1) {
           hideContextMenu();
         }
       });
 
-      $('body').on('contextmenu', '.context-menu', function (e) {
+      $(HUE_CONTAINER).on('contextmenu', '.context-menu', function (e) {
         hideContextMenu();
       });
 

+ 6 - 6
apps/jobsub/src/jobsub/templates/designs.mako

@@ -924,22 +924,22 @@ $(document).ready(function(e) {
       }
     );
   });
-  $('body').on('click', '#edit-design', function() {
+  $(HUE_CONTAINER).on('click', '#edit-design', function() {
     routie('edit-design/' + designs.selectedDesign().id());
   });
-  $('body').on('click', '#trash-designs', function() {
+  $(HUE_CONTAINER).on('click', '#trash-designs', function() {
     $('#trashWf').modal('show');
   });
-  $('body').on('click', '#destroy-designs', function() {
+  $(HUE_CONTAINER).on('click', '#destroy-designs', function() {
     $('#destroyWf').modal('show');
   });
-  $('body').on('click', '#purge-trashed-designs', function() {
+  $(HUE_CONTAINER).on('click', '#purge-trashed-designs', function() {
     $('#purgeWf').modal('show');
   });
-  $('body').on('click', '#restore-designs', function() {
+  $(HUE_CONTAINER).on('click', '#restore-designs', function() {
     $('#restoreWf').modal('show');
   });
-  $('body').on('click', '#copy-designs', function() {
+  $(HUE_CONTAINER).on('click', '#copy-designs', function() {
     designs.isLoading(true);
     designs.cloneDesigns();
   });

+ 1 - 1
apps/rdbms/src/rdbms/templates/execute.mako

@@ -435,7 +435,7 @@ ${ commonshare() | n,unicode }
 
       var pos = cm.cursorCoords();
       $(".CodeMirror-spinner").remove();
-      $("<i class='fa fa-spinner fa-spin CodeMirror-spinner'></i>").css("top", pos.top + "px").css("left", (pos.left - 4) + "px").appendTo($("body"));
+      $("<i class='fa fa-spinner fa-spin CodeMirror-spinner'></i>").css("top", pos.top + "px").css("left", (pos.left - 4) + "px").appendTo(HUE_CONTAINER);
 
       if ($.totalStorage('rdbms_tables_' + viewModel.server().name() + "_" + viewModel.database()) == null) {
         CodeMirror.showHint(cm, AUTOCOMPLETE_SET);

+ 2 - 2
desktop/core/src/desktop/static/desktop/js/ace.extended.js

@@ -55,7 +55,7 @@ try {
     editor.showSpinner = function () {
       var _position = this.getCursorScreenPosition();
       if ($(".ace-spinner").length == 0) {
-        $("<i class='fa fa-spinner fa-spin ace-spinner'></i>").appendTo($("body"));
+        $("<i class='fa fa-spinner fa-spin ace-spinner'></i>").appendTo(HUE_CONTAINER);
       }
       $(".ace-spinner").css("top", _position.pageY + "px").css("left", (_position.pageX - 4) + "px").show();
     }
@@ -67,7 +67,7 @@ try {
     editor.showFileButton = function () {
       var _position = this.getCursorScreenPosition();
       if ($(".ace-inline-button").length == 0) {
-        $("<a class='btn btn-mini ace-inline-button'><i class='fa fa-ellipsis-h'></i></a>").appendTo($("body"));
+        $("<a class='btn btn-mini ace-inline-button'><i class='fa fa-ellipsis-h'></i></a>").appendTo(HUE_CONTAINER);
       }
       $(".ace-inline-button").css("top", _position.pageY + "px").css("left", (_position.pageX + 4) + "px").show();
       $(".ace-inline-button").off("click");

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/hue.utils.js

@@ -345,7 +345,7 @@ if (!('addRule' in CSSStyleSheet.prototype)) {
 
   hueUtils.scrollbarWidth = function () {
     var $parent, $children, width;
-    $parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body');
+    $parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo(HUE_CONTAINER);
     $children = $parent.children();
     width = $children.innerWidth() - $children.height(99).innerWidth();
     $parent.remove();

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.blueprint.js

@@ -101,7 +101,7 @@
     $("<div id='jHueBlueprintTooltip'>" + contents + "</div>").css({
       top: y + 5,
       left: x + 5
-    }).appendTo("body").fadeIn(200);
+    }).appendTo(HUE_CONTAINER).fadeIn(200);
   }
 
 

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.hdfsautocomplete.js

@@ -59,7 +59,7 @@
       $("<div>").attr("id", "jHueHdfsAutocomplete").addClass("jHueAutocomplete popover")
           .attr("style", "position:absolute;display:none;max-width:1000px;z-index:" + _this.options.zIndex)
           .html('<div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p><ul class="unstyled"></ul></p></div></div>')
-          .appendTo($("body"));
+          .appendTo($(HUE_CONTAINER));
     }
 
     function setHueBreadcrumbCaretAtEnd(element) {

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.hiveautocomplete.js

@@ -68,7 +68,7 @@
       $("<div>").attr("id", "jHueGenericAutocomplete").addClass("jHueAutocomplete popover")
         .attr("style", "position:absolute;display:none;max-width:1000px;z-index:33000")
         .html('<div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><ul class="unstyled"></ul></div></div>')
-        .appendTo($("body"));
+        .appendTo(HUE_CONTAINER);
     }
 
     $el.wrap('<div class="inline">');

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.huedatatable.js

@@ -177,7 +177,7 @@
           'position': 'fixed',
           'bottom': '20px',
           'opacity': 0.85
-        }).addClass('hueAnchor hue-datatable-search').appendTo($('body'));
+        }).addClass('hueAnchor hue-datatable-search').appendTo(HUE_CONTAINER);
         search.html('<input type="text"> <i class="fa fa-chevron-up pointer muted"></i> <i class="fa fa-chevron-down pointer muted"></i> &nbsp; <span></span> &nbsp; <i class="fa fa-times pointer inactive-action"></i>');
 
         search.find('.fa-times').on('click', function () {

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.notify.js

@@ -113,7 +113,7 @@
         });
         el.show();
       }
-      el.appendTo($("body"));
+      el.appendTo(HUE_CONTAINER);
     }
   };
 

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.scrollleft.js

@@ -55,7 +55,7 @@
       $(document).off("click", "#jHueScrollLeftAnchor");
     }
     else {
-      link = $("<a/>").attr("id", "jHueScrollLeftAnchor").addClass("hueAnchor hueAnchorScroller").attr("href", "javascript:void(0)").html("<i class='fa fa-fw fa-chevron-left'></i>").appendTo("body");
+      link = $("<a/>").attr("id", "jHueScrollLeftAnchor").addClass("hueAnchor hueAnchorScroller").attr("href", "javascript:void(0)").html("<i class='fa fa-fw fa-chevron-left'></i>").appendTo(HUE_CONTAINER);
     }
 
     $(_this.element).attr("jHueLeftScrollified", "true");

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.scrollup.js

@@ -58,7 +58,7 @@
       $(document).off("click", "#jHueScrollUpAnchor");
     }
     else {
-      link = $("<a/>").attr("id", "jHueScrollUpAnchor").addClass("hueAnchor hueAnchorScroller").attr("href", "javascript:void(0)").html("<i class='fa fa-fw fa-chevron-up'></i>").appendTo("body");
+      link = $("<a/>").attr("id", "jHueScrollUpAnchor").addClass("hueAnchor hueAnchorScroller").attr("href", "javascript:void(0)").html("<i class='fa fa-fw fa-chevron-up'></i>").appendTo(HUE_CONTAINER);
     }
 
     $(_this.element).attr("jHueScrollified", "true");

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.tableextender.js

@@ -109,7 +109,7 @@
       }).appendTo(jHueTableExtenderNavigator);
       $("<label>").html(_this.options.labels.GO_TO_COLUMN + " <input type=\"text\" placeholder=\"" + _this.options.labels.PLACEHOLDER + "\" />").appendTo(jHueTableExtenderNavigator);
 
-      jHueTableExtenderNavigator.appendTo($("body"));
+      jHueTableExtenderNavigator.appendTo(HUE_CONTAINER);
 
       $(_this.element).find("tbody").click(function (event) {
         if ($.trim(getSelection()) == "") {

+ 5 - 5
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -145,7 +145,7 @@
   ko.bindingHandlers.clickToCopy = {
     init: function (element, valueAccessor) {
       $(element).click(function () {
-        var $input = $('<textarea>').css({ opacity: 0 }).val(ko.unwrap(valueAccessor())).appendTo('body').select();
+        var $input = $('<textarea>').css({ opacity: 0 }).val(ko.unwrap(valueAccessor())).appendTo(HUE_CONTAINER).select();
         document.execCommand('copy');
         $input.remove()
       });
@@ -951,7 +951,7 @@
 
         var $menu = $('#hueContextMenu_' + options.template);
         if ($menu.length === 0) {
-          $menu = $('<ul id="hueContextMenu_' + options.template  + '" class="hue-context-menu" data-bind="template: { name: \'' + options.template + '\', data: viewModel, afterRender: afterRender }"></ul>').appendTo('body');
+          $menu = $('<ul id="hueContextMenu_' + options.template  + '" class="hue-context-menu" data-bind="template: { name: \'' + options.template + '\', data: viewModel, afterRender: afterRender }"></ul>').appendTo(HUE_CONTAINER);
         } else {
           ko.cleanNode($menu[0]);
         }
@@ -1186,7 +1186,7 @@
       var clickTrigger = options.trigger === 'click';
       var $container = $('#popover-container');
       if (! $container.length) {
-        $container = $('<div>').attr('id', 'popover-container').appendTo('body');
+        $container = $('<div>').attr('id', 'popover-container').appendTo(HUE_CONTAINER);
         $('<div>').addClass('temp-content').hide().appendTo($container);
         $('<div>').addClass('temp-title').hide().appendTo($container);
       }
@@ -3277,7 +3277,7 @@
     _btn.click(function (e) {
       e.preventDefault();
       if (!isNestedModal) {
-        $("body").addClass("modal-open");
+        $(HUE_CONTAINER).addClass("modal-open");
       }
       // check if it's a relative path
       callFileChooser();
@@ -3340,7 +3340,7 @@
         }
         if (!isNestedModal) {
           $("#chooseFile").on("hidden", function () {
-            $("body").removeClass("modal-open");
+            $(HUE_CONTAINER).removeClass("modal-open");
             $(".modal-backdrop").remove();
           });
         }

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

@@ -398,7 +398,7 @@ from metadata.conf import has_optimizer, OPTIMIZER
         if ($('#login-modal').length > 0 && $('#login-modal').is(':hidden')) {
           $('#login-modal .link-message').hide();
           if (isAutoLogout) {
-            $('body').children(':not(#login-modal)').addClass('blurred');
+            $(HUE_CONTAINER).children(':not(#login-modal)').addClass('blurred');
             $('#login-modal .auto-logged-out').show();
             $('#login-modal').modal({
               backdrop: 'static',

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

@@ -683,7 +683,7 @@ from desktop.views import _ko
 
                 $helper.appendTo($container);
               } else {
-                $('<div>').addClass('doc-browser-drag-select').appendTo('body');
+                $('<div>').addClass('doc-browser-drag-select').appendTo(HUE_CONTAINER);
               }
             },
             drag: function (event) {

+ 3 - 0
desktop/core/src/desktop/templates/global_js_constants.mako

@@ -18,6 +18,7 @@
   from django.utils.translation import ugettext as _
 
   from desktop import conf
+  from desktop.conf import EMBEDDED_MODE
 
   from beeswax.conf import LIST_PARTITIONS_LIMIT
   from indexer.conf import ENABLE_NEW_INDEXER
@@ -32,6 +33,8 @@
     optimizer: ${ OPTIMIZER.CACHEABLE_TTL.get() }
   };
 
+  window.HUE_CONTAINER = '${ EMBEDDED_MODE.get() }' === 'True' ? '.hue-embedded-container' : 'body';
+
   %if request and request.COOKIES and request.COOKIES.get('csrftoken', '') != '':
     window.CSRF_TOKEN = '${request.COOKIES.get('csrftoken')}';
   %else:

+ 1 - 1
desktop/core/src/desktop/templates/ko_components/ko_context_popover.mako

@@ -1758,7 +1758,7 @@ from metadata.conf import has_navigator
       huePubSub.subscribe('context.popover.show', function (details) {
         hidePopover();
         var $contextPopover = $('<div id="contextPopover" data-bind="component: { name: \'context-popover\', params: $data }" />');
-        $('body').append($contextPopover);
+        $(HUE_CONTAINER).append($contextPopover);
         ko.applyBindings(details, $contextPopover[0]);
         huePubSub.publish('context.popover.shown');
       });

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

@@ -120,7 +120,7 @@ from django.utils.translation import ugettext as _
       huePubSub.subscribe('sql.syntax.dropdown.show', function (details) {
         hideSyntaxDropdown();
         var $sqlSyntaxDropdown = $('<div id="sqlSyntaxDropdown" data-bind="component: { name: \'sql-syntax-dropdown\', params: $data }" />');
-        $('body').append($sqlSyntaxDropdown);
+        $(HUE_CONTAINER).append($sqlSyntaxDropdown);
         ko.applyBindings(details, $sqlSyntaxDropdown[0]);
       });
     })();

+ 2 - 2
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -3556,11 +3556,11 @@ function loadSearch(collection, query, initial) {
   searchViewModel.isPlayerMode.subscribe(function(value) {
     if (value){
       $(".navigator").hide();
-      $("body").css("paddingTop", "40px");
+      $(HUE_CONTAINER).css("paddingTop", "40px");
     }
     else {
       $(".navigator").show();
-      $("body").css("paddingTop", "80px");
+      $(HUE_CONTAINER).css("paddingTop", "80px");
     }
   });