$(document).ready(function() { var modalOpened = false; var ledsim_width = 540; var ledsim_height = 489; var dialog; var leds; var lC = false; $(hyperion).one("ready",function(){ leds = serverConfig.leds; if(showOptHelp) { createHint('intro', $.i18n('main_ledsim_text'), 'ledsim_text'); $('#ledsim_text').css({'margin':'10px 15px 0px 15px'}); $('#ledsim_text .intro-hint').css("margin","0px") } if(getStorage('ledsim_width') != null) { ledsim_width = getStorage('ledsim_width'); ledsim_height = getStorage('ledsim_height'); } dialog = $("#ledsim_dialog").dialog({ uiLibrary: 'bootstrap', resizable: true, modal: false, minWidth: 250, width: ledsim_width, minHeight: 350, height: ledsim_height, closeOnEscape: true, autoOpen: false, title: $.i18n('main_ledsim_title'), resize: function (e) { updateLedLayout(); }, opened: function (e) { if(!lC) { updateLedLayout(); lC = true; } modalOpened = true; requestLedColorsStart(); if($('#leds_toggle_live_video').hasClass('btn-success')) requestLedImageStart(); }, closed: function (e) { modalOpened = false; }, resizeStop: function (e) { setStorage("ledsim_width", $("#ledsim_dialog").outerWidth()); setStorage("ledsim_height", $("#ledsim_dialog").outerHeight()); } }); }); function updateLedLayout() { //calculate body size var canvas_height = $('#ledsim_dialog').outerHeight()-$('#ledsim_text').outerHeight()-$('[data-role=footer]').outerHeight()-$('[data-role=header]').outerHeight()-40; var canvas_width = $('#ledsim_dialog').outerWidth()-30; $('#leds_canvas').html(""); leds_html = ''; for(var idx=0; idx'+led.index+''; } $('#leds_canvas').html(leds_html); if($('#leds_toggle_num').hasClass('btn-success')) $('.led_num').toggle(true); if($('#leds_toggle').hasClass('btn-danger')) $('.led').toggle(false); $('#image_preview').attr("width" , canvas_width-1); $('#image_preview').attr("height", canvas_height-1); } // ------------------------------------------------------------------ $('#leds_toggle_num').off().on("click", function() { $('.led_num').toggle(); toggleClass('#leds_toggle_num', "btn-danger", "btn-success"); }); // ------------------------------------------------------------------ $('#leds_toggle').off().on("click", function() { $('.led').toggle(); toggleClass('#leds_toggle', "btn-success", "btn-danger"); }); // ------------------------------------------------------------------ $('#leds_toggle_live_video').off().on("click", function() { setClassByBool('#leds_toggle_live_video',imageStreamActive,"btn-success","btn-danger"); if ( imageStreamActive ) { requestLedImageStop(); $('#image_preview').removeAttr("src"); } else { requestLedImageStart(); } }); // ------------------------------------------------------------------ $(hyperion).on("cmd-ledcolors-ledstream-update",function(event){ if (!modalOpened) { requestLedColorsStop(); } else { ledColors = (event.response.result.leds); for(var idx=0; idx