grocy/public/js/grocy_clock.js
Maximilian Bosch 34ffdb2b4b
Adds a few small frontend fixes (#995)
* Add a few instructions to the readme on how to get `grocy` running locally

* Fix toggle for header-clock

I'm not 100% sure why, but with this change, the listener which calls
`CheckHeaderClockEnabled` will be invoked *before* the listener which
persists the setting.

If the setting is persisted before that, the clock doesn't show up when
enabling it in the settings-menu and appears/disappears in the exact
opposite way the setting is true/false.

* Allow replacing a product picture when removing it at first

Right now, a preview image of a product doesn't get updated when
pressing the delete-button at first and adding a new image the
upload-form which can be quite confusing for an end-user.

This patch allows to delete an image and add a new one in one go.

* Add `Save & return` button to product form

Same concept as for recipes: when pressing this button, the user will
stay at the form's site after saving.

* Removed unneeded class

* Revert "Add a few instructions to the readme on how to get `grocy` running locally"

This reverts commit 6ffad1d3c729de9ce4bdd19aa87d7577dd2fcd36.

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-09-08 17:46:37 +02:00

48 lines
986 B
JavaScript

$(document).on("change", "#show-clock-in-header", function()
{
CheckHeaderClockEnabled();
});
function RefreshHeaderClock()
{
$("#clock-small").text(moment().format("l LT"));
$("#clock-big").text(moment().format("LLLL"));
}
Grocy.HeaderClockInterval = null;
function CheckHeaderClockEnabled()
{
if (Grocy.UserId === -1)
{
return;
}
// Refresh the clock in the header every second when enabled
if (BoolVal(Grocy.UserSettings.show_clock_in_header))
{
RefreshHeaderClock();
$("#clock-container").removeClass("d-none");
Grocy.HeaderClockInterval = setInterval(function()
{
RefreshHeaderClock();
}, 1000);
}
else
{
if (Grocy.HeaderClockInterval !== null)
{
clearInterval(Grocy.HeaderClockInterval);
Grocy.HeaderClockInterval = null;
}
$("#clock-container").addClass("d-none");
}
}
CheckHeaderClockEnabled();
if (Grocy.UserId !== -1 && BoolVal(Grocy.UserSettings.show_clock_in_header))
{
$("#show-clock-in-header").prop("checked", true);
}