Explorar el Código

HUE-6821 [frontend] Add tooltip to favorite component and fix ko binding for properties update

Enrico Berti hace 8 años
padre
commit
00a3e3bb6d

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

@@ -2568,10 +2568,12 @@
 
   ko.bindingHandlers.tooltip = {
     after: ['attr'],
-    init: function (element, valueAccessor) {
+    update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
       var local = ko.utils.unwrapObservable(valueAccessor()),
           options = {};
 
+      $(element).tooltip("destroy");
+
       ko.utils.extend(options, local);
 
       if (options.title) {
@@ -2584,11 +2586,6 @@
       ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
         $(element).tooltip("destroy");
       });
-    },
-    update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
-      var options = ko.utils.unwrapObservable(valueAccessor());
-      var self = $(element);
-      self.tooltip(options);
     }
   };
 

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

@@ -478,7 +478,7 @@ from desktop.views import _ko
 
   <script type="text/html" id="hue-favorite-app-template">
     <!-- ko if: isHue4 -->
-    <div class="inline pointer favorite-app" data-bind="click: setAsFavoriteApp, attr: { title: isFavorite() ? '${ _ko("Unset from default application") }' : '${ _ko("Set as default application") }' }">
+    <div class="inline pointer favorite-app" data-bind="click: setAsFavoriteApp, tooltip: { placement: 'bottom', delay: 750, title: isFavorite() ? '${ _ko("Unset from default application") }' : '${ _ko("Set as default application") }' }">
       <i class="fa inactive-action" data-bind="css: { 'fa-star-o': !isFavorite(), 'fa-star': isFavorite }"></i>
     </div>
     <!-- /ko -->