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

HUE-6077 [frontend] jHueRowSelector should publish an open.link event on Hue 4

Enrico Berti пре 8 година
родитељ
комит
b44d107
1 измењених фајлова са 44 додато и 40 уклоњено
  1. 44 40
      desktop/core/src/desktop/static/desktop/js/jquery.rowselector.js

+ 44 - 40
desktop/core/src/desktop/static/desktop/js/jquery.rowselector.js

@@ -20,49 +20,53 @@
 ;
 (function ($, window, document, undefined) {
 
-    var pluginName = "jHueRowSelector",
-        defaults = {
-        };
+  var pluginName = "jHueRowSelector",
+    defaults = {};
 
-    function Plugin(element, options) {
-        this.element = element;
-        this.options = $.extend({}, defaults, options);
-        this._defaults = defaults;
-        this._name = pluginName;
-        this.init();
-    }
+  function Plugin(element, options) {
+    this.element = element;
+    this.options = $.extend({}, defaults, options);
+    this._defaults = defaults;
+    this._name = pluginName;
+    this.init();
+  }
 
-    Plugin.prototype.setOptions = function (options) {
-        this.options = $.extend({}, defaults, options);
-    };
+  Plugin.prototype.setOptions = function (options) {
+    this.options = $.extend({}, defaults, options);
+  };
 
-    Plugin.prototype.init = function () {
-        var _this = this;
-        $(_this.element).closest("tr").click(function (e) {
-            if ($(e.target).data("row-selector-exclude") || $(e.target).closest("td").hasClass("row-selector-exclude")) {
-                return;
-            }
-            if (!$(e.target).is("a")) {
-                var href = $.trim($(_this.element).attr("href"));
-                if (href != "" && href != "#" && href.indexOf("void(0)") == -1) {
-                    location.href = $(_this.element).attr("href");
-                }
-                else {
-                    $(_this.element).click();
-                }
-            }
-        }).css("cursor", "pointer");
-    };
+  Plugin.prototype.init = function () {
+    var _this = this;
+    $(_this.element).closest("tr").click(function (e) {
+      if ($(e.target).data("row-selector-exclude") || $(e.target).closest("td").hasClass("row-selector-exclude")) {
+        return;
+      }
+      if (!$(e.target).is("a")) {
+        var href = $.trim($(_this.element).attr("href"));
+        if (href != "" && href != "#" && href.indexOf("void(0)") == -1) {
+          if (IS_HUE_4) {
+            huePubSub.publish('open.link', $(_this.element).attr("href"));
+          }
+          else {
+            location.href = $(_this.element).attr("href");
+          }
+        }
+        else {
+          $(_this.element).click();
+        }
+      }
+    }).css("cursor", "pointer");
+  };
 
-    $.fn[pluginName] = function (options) {
-        return this.each(function () {
-            if (!$.data(this, 'plugin_' + pluginName)) {
-                $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
-            }
-            else {
-                $.data(this, 'plugin_' + pluginName).setOptions(options);
-            }
-        });
-    }
+  $.fn[pluginName] = function (options) {
+    return this.each(function () {
+      if (!$.data(this, 'plugin_' + pluginName)) {
+        $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
+      }
+      else {
+        $.data(this, 'plugin_' + pluginName).setOptions(options);
+      }
+    });
+  }
 
 })(jQuery, window, document);