|
@@ -39,6 +39,9 @@ var UI_TABS = [ {
|
|
|
}, {
|
|
}, {
|
|
|
tag: "tab-mqtt",
|
|
tag: "tab-mqtt",
|
|
|
friendly: "MQTT"
|
|
friendly: "MQTT"
|
|
|
|
|
+ }, {
|
|
|
|
|
+ tag: "tab-transitions",
|
|
|
|
|
+ friendly: "Transitions"
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
|
|
|
|
|
@@ -342,6 +345,13 @@ var UI_FIELDS = [ {
|
|
|
help: "Number of times the LED will flash when packets are changing",
|
|
help: "Number of times the LED will flash when packets are changing",
|
|
|
type: "string",
|
|
type: "string",
|
|
|
tab: "tab-led"
|
|
tab: "tab-led"
|
|
|
|
|
+ }, {
|
|
|
|
|
+ tag: "default_transition_period",
|
|
|
|
|
+ friendly: "Default transition period (milliseconds)",
|
|
|
|
|
+ help: "Controls how many milliseconds pass between transition packets. "+
|
|
|
|
|
+ "For more granular transitions, set this lower.",
|
|
|
|
|
+ type: "string",
|
|
|
|
|
+ tab: "tab-transitions"
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
|
|
|
|
|
@@ -1231,6 +1241,27 @@ $(function() {
|
|
|
|
|
|
|
|
$('#settings').prepend(settings);
|
|
$('#settings').prepend(settings);
|
|
|
|
|
|
|
|
|
|
+ function saveSettings(settingsEntries) {
|
|
|
|
|
+ var entries = settingsEntries.slice(0)
|
|
|
|
|
+
|
|
|
|
|
+ function saveBatch() {
|
|
|
|
|
+ if (entries.length > 0) {
|
|
|
|
|
+ var batch = Object.fromEntries(entries.splice(0, 30))
|
|
|
|
|
+ $.ajax(
|
|
|
|
|
+ "/settings",
|
|
|
|
|
+ {
|
|
|
|
|
+ method: "PUT",
|
|
|
|
|
+ contentType: "application/json",
|
|
|
|
|
+ data: JSON.stringify(batch)
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ .done(saveBatch)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ saveBatch()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$('#settings').submit(function(e) {
|
|
$('#settings').submit(function(e) {
|
|
|
e.preventDefault();
|
|
e.preventDefault();
|
|
|
|
|
|
|
@@ -1262,15 +1293,7 @@ $(function() {
|
|
|
// Make sure we're submitting a value for group_state_fields (will be empty
|
|
// Make sure we're submitting a value for group_state_fields (will be empty
|
|
|
// if no values were selected).
|
|
// if no values were selected).
|
|
|
obj = $.extend({group_state_fields: []}, obj);
|
|
obj = $.extend({group_state_fields: []}, obj);
|
|
|
-
|
|
|
|
|
- $.ajax(
|
|
|
|
|
- "/settings",
|
|
|
|
|
- {
|
|
|
|
|
- method: 'put',
|
|
|
|
|
- contentType: 'application/json',
|
|
|
|
|
- data: JSON.stringify(obj)
|
|
|
|
|
- }
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ saveSettings(Object.entries(obj))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$('#settings-modal').modal('hide');
|
|
$('#settings-modal').modal('hide');
|