$(function(){ //DOM Ready function navigate(url) { window.location.href = url; } $(document).attr("title", "Hello Panel"); content_width = (120 + 5) * 8 + 5 $('.gridster').width(content_width) $(".gridster ul").gridster({ widget_margins: [5, 5], widget_base_dimensions: [120, 120], avoid_overlapped_widgets: true, max_rows: 15, max_size_x: 8, shift_widgets_up: false }).data('gridster').disable(); // Add Widgets var gridster = $(".gridster ul").gridster().data('gridster'); gridster.add_widget('
  • ', 2, 2, 1, 1) var widgets = {} // Initialize Widgets widgets["default-label"] = new basedisplay("default-label", "", "default", {'widget_type': 'basedisplay', 'fields': {'title': '', 'title2': '', 'value': 'Hello World', 'unit': '', 'state_text': ''}, 'static_css': {'title_style': 'color: #fff;', 'title2_style': 'color: #fff;', 'unit_style': '', 'value_style': 'color: #fff;', 'state_text_style': 'color: #fff;', 'widget_style': 'background-color: #444;', 'container_style': ''}, 'css': {}, 'icons': [], 'static_icons': [], 'namespace': 'default'}) // Setup click handler to cancel timeout navigations $( ".gridster" ).click(function(){ clearTimeout(myTimeout); if (myTimeoutSticky) { myTimeout = setTimeout(function() { navigate(myTimeoutUrl); }, myTimeoutDelay); } }); // Set up timeout var myTimeout; var myTimeoutUrl; var myTimeoutDelay; var myTimeoutSticky = 0; if (location.search != "") { var query = location.search.substr(1); var result = {}; query.split("&").forEach(function(part) { var item = part.split("="); result[item[0]] = decodeURIComponent(item[1]); }); if ("timeout" in result && "return" in result) { url = result.return argcount = 0 for (arg in result) { if (arg != "timeout" && arg != "return" && arg != "sticky") { if (argcount == 0) { url += "?"; } else { url += "?"; } argcount ++; url += arg + "=" + result[arg] } } if ("sticky" in result) { myTimeoutSticky = (result.sticky == "1"); } myTimeoutUrl = url; myTimeoutDelay = result.timeout * 1000; myTimeout = setTimeout(function() { navigate(url); }, result.timeout * 1000); } } // Start listening for HA Events if (location.protocol == 'https:') { wsprot = "wss:" } else { wsprot = "ws:" } var stream_url = wsprot + '//' + location.host + '/stream' ha_status(stream_url, "Hello Panel", widgets); });