Select Git revision
main.js 3.08 KiB
var wsUrl = 'ws://' + document.location.host + '/ws';
var settings = {
brightness: 0,
interval: 0,
};
$(document).ready(function () {
uiEnabled(false);
$("#wsMessages, #prompt").val("");
startSocket();
});
$(document).on('change', '.rangeSetting', function () {
var setting = $(this).data('name');
var value = $(this).val();
switch (setting) {
case 'brightness':
value = mapRange(value, 1, 100, 8, 255);
break;
case 'interval':
value = mapRange(value, 1, 100, 1000, 10);
break;
}
settings[setting] = value;
var payload = {
'settings': settings
};
wsSend(payload);
});
$('.btnAction').on('click', function () {
var action = $(this).data('action');
sendAction(action);
});
$("#prompt").on('keydown', function (e) {
if (e.keyCode == 13 && $("#prompt").val() != "") {
var val = $("#prompt").val();
wsSend(JSON.parse(val));
$("#prompt").val("");
}
});
function uiEnabled(enabled) {
if (enabled) {
$('#spinner').addClass('invisible');
$('.btnAction').prop('disabled', false);
$('.rangeSetting').prop('disabled', false);
} else {
$('#spinner').removeClass('invisible');
$('.btnAction').prop('disabled', true);
$('.rangeSetting').prop('disabled', true);
}
}
function addMessage(msg) {
var txt = $("#wsMessages");
txt.val($.trim(txt.val() + "\n" + msg));
txt.scrollTop(txt[0].scrollHeight - txt.height());
}
function wsSend(obj) {
ws.send(obj).done(function () {
addMessage("➡️ " + JSON.stringify(obj));
}).fail(function (e) {
addMessage("❗️ " + JSON.stringify(obj));
});
}