Bläddra i källkod

HUE-6179 [frontend] Fix dom disposal for nicescroll and create a resize subscriber

Enrico Berti 8 år sedan
förälder
incheckning
ca53b8a

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

@@ -4799,9 +4799,14 @@
     init: function (element, valueAccessor, allBindings) {
       var options = valueAccessor() || {};
       if ((typeof options.enable === 'undefined' || options.enable) && $.fn.niceScroll) {
-        var niceScroll = hueUtils.initNiceScroll($(element), options);
+        hueUtils.initNiceScroll($(element), options);
         $(element).addClass('nicescrollified');
-        ko.utils.domNodeDisposal.addDisposeCallback(element, niceScroll.remove);
+        huePubSub.subscribe('nicescroll.resize', function () {
+          $(element).getNiceScroll().resize();
+        });
+        ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
+          $(element).getNiceScroll().remove();
+        });
       }
     }
   };

+ 2 - 1
desktop/core/src/desktop/templates/hue.mako

@@ -853,7 +853,8 @@ ${ smart_unicode(login_modal(request).content) | n,unicode }
         self.rightAssistVisible = ko.observable();
         self.rightAssistVisible.subscribe(function () {
           window.setTimeout(function () {
-            huePubSub.publish('reposition.scroll.anchor.up')
+            huePubSub.publish('reposition.scroll.anchor.up');
+            huePubSub.publish('nicescroll.resize');
           }, 0);
         });
         self.rightAssistAvailable = ko.observable(false);