jameswlane/status-board

View on GitHub
assets/build/app.js

Summary

Maintainability
A
0 mins
Test Coverage
var atlasboard=atlasboard||{};atlasboard.triggerEvent=function(){var e=$("#widgets-container");e.trigger.apply(e,arguments)},atlasboard.on=function(){var e=$("#widgets-container");e.on.apply(e,arguments)},$(function(){function logError(e,t){var n="ERROR on "+e.eventId+": "+t;console.error(n),socket.emit("log",{widgetId:e.eventId,error:n})}function wrapFn(e,t,n){return function(){t.apply(e,arguments),n.apply(e,arguments)}}function extendWrapping(e,t){for(var n in t)e[n]?e[n]=wrapFn(e,e[n],t[n]):e[n]=t[n];return e}function bindWidget(io,$li){var widgetId=encodeURIComponent($li.attr("data-widget-id")),eventId=$li.attr("data-event-id"),$widgetContainer=$("<div>").addClass("widget-container").appendTo($li).hide(),$errorContainer=$("<div>").addClass("widget-error").appendTo($li).hide();$widgetContainer.load("/widgets/"+widgetId,function(){$.get("/widgets/"+widgetId+"/js",function(js){var widgetJS={};try{eval("widgetJS = "+js),widgetJS.eventId=eventId,widgetJS=extendWrapping(widgetJS,widgetDefaultHandlers),widgetJS.onInit($widgetContainer,widgetId)}catch(e){logError(widgetJS,e)}io.on(eventId,function(e){e.error?widgetJS.onError.apply(widgetJS,[$errorContainer,e,widgetId]):($widgetContainer.is(":visible")||($widgetContainer.siblings().fadeOut(500),$widgetContainer.fadeIn(500)),widgetJS.onData.apply(widgetJS,[$widgetContainer,e,widgetId]))}),io.emit("resend",eventId)})})}var widgetDefaultHandlers={onInit:function(){atlasboard.triggerEvent("widgetInit",{$widgetContainer:arguments[0],widgetId:arguments[1]})},onError:function(){atlasboard.triggerEvent("widgetError",{$errorContainer:arguments[0],data:arguments[1],widgetId:arguments[2]})},onData:function(){atlasboard.triggerEvent("widgetData",{$widgetContainer:arguments[0],data:arguments[1],widgetId:arguments[2]})},log:function(e){socket.emit("log",{widgetId:this.eventId,data:e})}};$.ajaxSetup({cache:!1});var gridsterContainer=$(".gridster ul"),serverInfo,socket=io.connect();socket.on("connect",function(){atlasboard.triggerEvent("socketConnected",{socket:socket})}),socket.on("disconnect",function(){atlasboard.triggerEvent("socketDisconnected",{socket:socket})}),socket.on("reconnecting",function(){atlasboard.triggerEvent("socketReconnecting",{socket:socket})}),socket.on("reconnect_failed",function(){atlasboard.triggerEvent("socketReconnectFailed",{socket:socket})}),socket.on("serverinfo",function(e){serverInfo?e.startTime>serverInfo.startTime&&window.location.reload():serverInfo=e}),gridsterContainer.children("li").each(function(e,t){var n=$(t);n.empty(),bindWidget(socket,n)})});
!function(){function n(n){var t=.035,i=n.width(),o=i*t;$(".content.auto-font-resize",n).css({"font-size":o+"px"})}atlasboard.on("widgetInit",function(t,i){n(i.$widgetContainer)})}();
!function(){var i=$("#main-container"),n=i.outerWidth(),t=i.outerHeight();$(window).resize(function(){var e=$(window).width()/n,o=$(window).height()/t;i.css("transform","scale("+Math.min(e,o)+")")}).resize()}();
!function(){atlasboard.on("socketConnected",function(n){console.log("connected"),$("#main-container").removeClass("disconnected")}),atlasboard.on("socketDisconnected",function(n){$("#main-container").addClass("disconnected"),console.log("disconnected")}),atlasboard.on("socketReconnectFailed",function(n){console.log("reconnected FAILED")}),atlasboard.on("socketReconnecting",function(n){console.log("reconnecting...")})}();
!function(){atlasboard.on("widgetError",function(r,a){console.error(a.error||a);var s=a.$errorContainer;a.data&&"disabled"===a.data.error?s.html('<span class="disabled">DISABLED</span>'):s.html('<span class="error">&#9888;</span>'),s.is(":visible")||(s.siblings().hide(),s.fadeIn())})}();
!function(){var i=$("#main-container"),n=$(".gridster ul"),s=2*parseInt(i.css("paddingTop"),10),t=s/2,e=1080-i.offset().top-t,d=i.width(),r=GRID_ROWS,a=GRID_COLUMNS,g={w:(d-a*s)/a,h:(e-r*s)/r};n.gridster({widget_margins:[t,t],widget_base_dimensions:[g.w,g.h]})}();
!function(){atlasboard.on("widgetInit",function(n,e){var a=new Spinner({className:"spinner",color:"#f5f5f5",width:5,length:15,radius:25,lines:12,speed:.7,shadow:!0}).spin();$("<div>").addClass("spinner").append(a.el).appendTo(e.$widgetContainer.parent())}),atlasboard.on("widgetData",function(n,e){$(".spinner",e.$widgetContainer.parent()).hide()}),atlasboard.on("widgetError",function(n,e){$(".spinner",e.$errorContainer.parent()).hide()})}();