mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Hyperion Light 2 (#1428)
* Hyperion Light - Have EffectEngine as component * Hyperion light - Build switches for LED Devices (Serial, Network) * Fix file uri generation * Fix missing guard for Windows * Fix file uri generation * Update jsonschema and checkschema * Allow to provide cmake build args to docker build
This commit is contained in:
@@ -1,72 +1,89 @@
|
||||
$(document).ready( function() {
|
||||
performTranslation();
|
||||
$(document).ready(function () {
|
||||
performTranslation();
|
||||
|
||||
// update instance listing
|
||||
updateHyperionInstanceListing();
|
||||
var EFFECTENGINE_ENABLED = (jQuery.inArray("effectengine", window.serverInfo.services) !== -1);
|
||||
|
||||
var oldEffects = [];
|
||||
var effects_editor = null;
|
||||
var confFgEff = window.serverConfig.foregroundEffect.effect;
|
||||
var confBgEff = window.serverConfig.backgroundEffect.effect;
|
||||
var foregroundEffect_editor = null;
|
||||
var backgroundEffect_editor = null;
|
||||
// update instance listing
|
||||
updateHyperionInstanceListing();
|
||||
|
||||
if(window.showOptHelp)
|
||||
{
|
||||
//foreground effect
|
||||
$('#conf_cont').append(createRow('conf_cont_fge'));
|
||||
$('#conf_cont_fge').append(createOptPanel('fa-spinner', $.i18n("edt_conf_fge_heading_title"), 'editor_container_foregroundEffect', 'btn_submit_foregroundEffect'));
|
||||
var oldEffects = [];
|
||||
var effects_editor = null;
|
||||
var confFgEff = window.serverConfig.foregroundEffect.effect;
|
||||
var confBgEff = window.serverConfig.backgroundEffect.effect;
|
||||
var foregroundEffect_editor = null;
|
||||
var backgroundEffect_editor = null;
|
||||
|
||||
if (!EFFECTENGINE_ENABLED) {
|
||||
window.schema.foregroundEffect.properties.type.enum.splice(1, 1);
|
||||
window.schema.foregroundEffect.properties.type.options.enum_titles.splice(1, 1);
|
||||
window.schema.foregroundEffect.properties.type.default = "color";
|
||||
delete window.schema.foregroundEffect.properties.effect;
|
||||
|
||||
window.schema.backgroundEffect.properties.type.enum.splice(1, 1);
|
||||
window.schema.backgroundEffect.properties.type.options.enum_titles.splice(1, 1);
|
||||
window.schema.backgroundEffect.properties.type.default = "color";
|
||||
delete window.schema.backgroundEffect.properties.effect;
|
||||
}
|
||||
|
||||
if (window.showOptHelp) {
|
||||
//foreground effect
|
||||
$('#conf_cont').append(createRow('conf_cont_fge'));
|
||||
$('#conf_cont_fge').append(createOptPanel('fa-spinner', $.i18n("edt_conf_fge_heading_title"), 'editor_container_foregroundEffect', 'btn_submit_foregroundEffect'));
|
||||
$('#conf_cont_fge').append(createHelpTable(window.schema.foregroundEffect.properties, $.i18n("edt_conf_fge_heading_title"), "foregroundEffectHelpPanelId"));
|
||||
|
||||
//background effect
|
||||
$('#conf_cont').append(createRow('conf_cont_bge'));
|
||||
$('#conf_cont_bge').append(createOptPanel('fa-spinner', $.i18n("edt_conf_bge_heading_title"), 'editor_container_backgroundEffect', 'btn_submit_backgroundEffect'));
|
||||
//background effect
|
||||
$('#conf_cont').append(createRow('conf_cont_bge'));
|
||||
$('#conf_cont_bge').append(createOptPanel('fa-spinner', $.i18n("edt_conf_bge_heading_title"), 'editor_container_backgroundEffect', 'btn_submit_backgroundEffect'));
|
||||
$('#conf_cont_bge').append(createHelpTable(window.schema.backgroundEffect.properties, $.i18n("edt_conf_bge_heading_title"), "backgroundEffectHelpPanelId"));
|
||||
|
||||
//effect path
|
||||
if(storedAccess != 'default')
|
||||
{
|
||||
$('#conf_cont').append(createRow('conf_cont_ef'));
|
||||
$('#conf_cont_ef').append(createOptPanel('fa-spinner', $.i18n("edt_conf_effp_heading_title"), 'editor_container_effects', 'btn_submit_effects'));
|
||||
$('#conf_cont_ef').append(createHelpTable(window.schema.effects.properties, $.i18n("edt_conf_effp_heading_title")));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#conf_cont').addClass('row');
|
||||
$('#conf_cont').append(createOptPanel('fa-spinner', $.i18n("edt_conf_fge_heading_title"), 'editor_container_foregroundEffect', 'btn_submit_foregroundEffect'));
|
||||
$('#conf_cont').append(createOptPanel('fa-spinner', $.i18n("edt_conf_bge_heading_title"), 'editor_container_backgroundEffect', 'btn_submit_backgroundEffect'));
|
||||
if(storedAccess != 'default')
|
||||
$('#conf_cont').append(createOptPanel('fa-spinner', $.i18n("edt_conf_effp_heading_title"), 'editor_container_effects', 'btn_submit_effects'));
|
||||
}
|
||||
if (EFFECTENGINE_ENABLED) {
|
||||
//effect path
|
||||
if (storedAccess != 'default') {
|
||||
$('#conf_cont').append(createRow('conf_cont_ef'));
|
||||
$('#conf_cont_ef').append(createOptPanel('fa-spinner', $.i18n("edt_conf_effp_heading_title"), 'editor_container_effects', 'btn_submit_effects'));
|
||||
$('#conf_cont_ef').append(createHelpTable(window.schema.effects.properties, $.i18n("edt_conf_effp_heading_title")));
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$('#conf_cont').addClass('row');
|
||||
$('#conf_cont').append(createOptPanel('fa-spinner', $.i18n("edt_conf_fge_heading_title"), 'editor_container_foregroundEffect', 'btn_submit_foregroundEffect'));
|
||||
$('#conf_cont').append(createOptPanel('fa-spinner', $.i18n("edt_conf_bge_heading_title"), 'editor_container_backgroundEffect', 'btn_submit_backgroundEffect'));
|
||||
if (EFFECTENGINE_ENABLED) {
|
||||
if (storedAccess != 'default')
|
||||
$('#conf_cont').append(createOptPanel('fa-spinner', $.i18n("edt_conf_effp_heading_title"), 'editor_container_effects', 'btn_submit_effects'));
|
||||
}
|
||||
}
|
||||
|
||||
if(storedAccess != 'default')
|
||||
{
|
||||
effects_editor = createJsonEditor('editor_container_effects', {
|
||||
effects : window.schema.effects
|
||||
}, true, true);
|
||||
if (EFFECTENGINE_ENABLED) {
|
||||
if (storedAccess != 'default') {
|
||||
effects_editor = createJsonEditor('editor_container_effects', {
|
||||
effects: window.schema.effects
|
||||
}, true, true);
|
||||
|
||||
effects_editor.on('change',function() {
|
||||
effects_editor.validate().length || window.readOnlyMode ? $('#btn_submit_effects').attr('disabled', true) : $('#btn_submit_effects').attr('disabled', false);
|
||||
});
|
||||
effects_editor.on('change', function () {
|
||||
effects_editor.validate().length || window.readOnlyMode ? $('#btn_submit_effects').attr('disabled', true) : $('#btn_submit_effects').attr('disabled', false);
|
||||
});
|
||||
|
||||
$('#btn_submit_effects').off().on('click',function() {
|
||||
requestWriteConfig(effects_editor.getValue());
|
||||
});
|
||||
}
|
||||
$('#btn_submit_effects').off().on('click', function () {
|
||||
requestWriteConfig(effects_editor.getValue());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
foregroundEffect_editor = createJsonEditor('editor_container_foregroundEffect', {
|
||||
foregroundEffect : window.schema.foregroundEffect
|
||||
}, true, true);
|
||||
foregroundEffect_editor = createJsonEditor('editor_container_foregroundEffect', {
|
||||
foregroundEffect: window.schema.foregroundEffect
|
||||
}, true, true);
|
||||
|
||||
backgroundEffect_editor = createJsonEditor('editor_container_backgroundEffect', {
|
||||
backgroundEffect : window.schema.backgroundEffect
|
||||
}, true, true);
|
||||
backgroundEffect_editor = createJsonEditor('editor_container_backgroundEffect', {
|
||||
backgroundEffect: window.schema.backgroundEffect
|
||||
}, true, true);
|
||||
|
||||
|
||||
foregroundEffect_editor.on('ready',function() {
|
||||
updateEffectlist();
|
||||
});
|
||||
foregroundEffect_editor.on('ready', function () {
|
||||
if (EFFECTENGINE_ENABLED) {
|
||||
updateEffectlist();
|
||||
}
|
||||
});
|
||||
|
||||
foregroundEffect_editor.on('change', function () {
|
||||
var foregroundEffectEnable = foregroundEffect_editor.getEditor("root.foregroundEffect.enable").getValue();
|
||||
@@ -79,8 +96,8 @@ $(document).ready( function() {
|
||||
$('#foregroundEffectHelpPanelId').hide();
|
||||
}
|
||||
|
||||
foregroundEffect_editor.validate().length || window.readOnlyMode ? $('#btn_submit_foregroundEffect').attr('disabled', true) : $('#btn_submit_foregroundEffect').attr('disabled', false);
|
||||
});
|
||||
foregroundEffect_editor.validate().length || window.readOnlyMode ? $('#btn_submit_foregroundEffect').attr('disabled', true) : $('#btn_submit_foregroundEffect').attr('disabled', false);
|
||||
});
|
||||
|
||||
backgroundEffect_editor.on('change', function () {
|
||||
var backgroundEffectEnable = backgroundEffect_editor.getEditor("root.backgroundEffect.enable").getValue();
|
||||
@@ -93,62 +110,62 @@ $(document).ready( function() {
|
||||
$('#backgroundEffectHelpPanelId').hide();
|
||||
}
|
||||
|
||||
backgroundEffect_editor.validate().length || window.readOnlyMode ? $('#btn_submit_backgroundEffect').attr('disabled', true) : $('#btn_submit_backgroundEffect').attr('disabled', false);
|
||||
});
|
||||
backgroundEffect_editor.validate().length || window.readOnlyMode ? $('#btn_submit_backgroundEffect').attr('disabled', true) : $('#btn_submit_backgroundEffect').attr('disabled', false);
|
||||
});
|
||||
|
||||
$('#btn_submit_foregroundEffect').off().on('click',function() {
|
||||
var value = foregroundEffect_editor.getValue();
|
||||
if(typeof value.foregroundEffect.effect == 'undefined')
|
||||
value.foregroundEffect.effect = window.serverConfig.foregroundEffect.effect;
|
||||
requestWriteConfig(value);
|
||||
});
|
||||
$('#btn_submit_foregroundEffect').off().on('click', function () {
|
||||
var value = foregroundEffect_editor.getValue();
|
||||
if (typeof value.foregroundEffect.effect == 'undefined')
|
||||
value.foregroundEffect.effect = window.serverConfig.foregroundEffect.effect;
|
||||
requestWriteConfig(value);
|
||||
});
|
||||
|
||||
$('#btn_submit_backgroundEffect').off().on('click',function() {
|
||||
var value = backgroundEffect_editor.getValue();
|
||||
if(typeof value.backgroundEffect.effect == 'undefined')
|
||||
value.backgroundEffect.effect = window.serverConfig.backgroundEffect.effect;
|
||||
requestWriteConfig(value);
|
||||
});
|
||||
$('#btn_submit_backgroundEffect').off().on('click', function () {
|
||||
var value = backgroundEffect_editor.getValue();
|
||||
if (typeof value.backgroundEffect.effect == 'undefined')
|
||||
value.backgroundEffect.effect = window.serverConfig.backgroundEffect.effect;
|
||||
requestWriteConfig(value);
|
||||
});
|
||||
|
||||
//create introduction
|
||||
if(window.showOptHelp)
|
||||
{
|
||||
createHint("intro", $.i18n('conf_effect_path_intro'), "editor_container_effects");
|
||||
createHint("intro", $.i18n('conf_effect_fgeff_intro'), "editor_container_foregroundEffect");
|
||||
createHint("intro", $.i18n('conf_effect_bgeff_intro'), "editor_container_backgroundEffect");
|
||||
}
|
||||
//create introduction
|
||||
if (window.showOptHelp) {
|
||||
if (EFFECTENGINE_ENABLED) {
|
||||
createHint("intro", $.i18n('conf_effect_path_intro'), "editor_container_effects");
|
||||
}
|
||||
createHint("intro", $.i18n('conf_effect_fgeff_intro'), "editor_container_foregroundEffect");
|
||||
createHint("intro", $.i18n('conf_effect_bgeff_intro'), "editor_container_backgroundEffect");
|
||||
}
|
||||
|
||||
function updateEffectlist(){
|
||||
var newEffects = window.serverInfo.effects;
|
||||
if (newEffects.length != oldEffects.length)
|
||||
{
|
||||
$('#root_foregroundEffect_effect').html('');
|
||||
var usrEffArr = [];
|
||||
var sysEffArr = [];
|
||||
function updateEffectlist() {
|
||||
var newEffects = window.serverInfo.effects;
|
||||
if (newEffects.length != oldEffects.length) {
|
||||
$('#root_foregroundEffect_effect').html('');
|
||||
var usrEffArr = [];
|
||||
var sysEffArr = [];
|
||||
|
||||
for(var i = 0; i < newEffects.length; i++)
|
||||
{
|
||||
var effectName = newEffects[i].name;
|
||||
if(!/^\:/.test(newEffects[i].file))
|
||||
usrEffArr.push(effectName);
|
||||
else
|
||||
sysEffArr.push(effectName);
|
||||
}
|
||||
$('#root_foregroundEffect_effect').append(createSel(usrEffArr, $.i18n('remote_optgroup_usreffets')));
|
||||
$('#root_foregroundEffect_effect').append(createSel(sysEffArr, $.i18n('remote_optgroup_syseffets')));
|
||||
$('#root_backgroundEffect_effect').html($('#root_foregroundEffect_effect').html());
|
||||
oldEffects = newEffects;
|
||||
for (var i = 0; i < newEffects.length; i++) {
|
||||
var effectName = newEffects[i].name;
|
||||
if (!/^\:/.test(newEffects[i].file))
|
||||
usrEffArr.push(effectName);
|
||||
else
|
||||
sysEffArr.push(effectName);
|
||||
}
|
||||
$('#root_foregroundEffect_effect').append(createSel(usrEffArr, $.i18n('remote_optgroup_usreffets')));
|
||||
$('#root_foregroundEffect_effect').append(createSel(sysEffArr, $.i18n('remote_optgroup_syseffets')));
|
||||
$('#root_backgroundEffect_effect').html($('#root_foregroundEffect_effect').html());
|
||||
oldEffects = newEffects;
|
||||
|
||||
$('#root_foregroundEffect_effect').val(confFgEff);
|
||||
$('#root_backgroundEffect_effect').val(confBgEff);
|
||||
}
|
||||
}
|
||||
$('#root_foregroundEffect_effect').val(confFgEff);
|
||||
$('#root_backgroundEffect_effect').val(confBgEff);
|
||||
}
|
||||
}
|
||||
|
||||
//interval update
|
||||
$(window.hyperion).on("cmd-effects-update", function(event){
|
||||
window.serverInfo.effects = event.response.data.effects
|
||||
updateEffectlist();
|
||||
});
|
||||
//interval update
|
||||
$(window.hyperion).on("cmd-effects-update", function (event) {
|
||||
window.serverInfo.effects = event.response.data.effects
|
||||
updateEffectlist();
|
||||
});
|
||||
|
||||
removeOverlay();
|
||||
removeOverlay();
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user