Výběr obědu kliknutím
Oprava možnosti zadat klikáním více podniků současně
This commit is contained in:
parent
52e78d4ea5
commit
50ce471623
@ -268,14 +268,19 @@ export async function removeChoice(login: string, trusted: boolean, locationKey:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Odstraní kompletně volbu uživatele.
|
* Odstraní kompletně volbu uživatele, vyjma ignoredLocationKey (pokud byla předána a existuje).
|
||||||
*
|
*
|
||||||
* @param login login uživatele
|
* @param login login uživatele
|
||||||
|
* @param date datum, ke kterému se volby vztahují
|
||||||
|
* @param ignoredLocationKey volba, která nebude odstraněna, pokud existuje
|
||||||
*/
|
*/
|
||||||
async function removeChoiceIfPresent(login: string, date: string) {
|
async function removeChoiceIfPresent(login: string, date: string, ignoredLocationKey?: LocationKey) {
|
||||||
let data: DayData = await storage.getData(date);
|
let data: DayData = await storage.getData(date);
|
||||||
for (const key of Object.keys(data.choices)) {
|
for (const key of Object.keys(data.choices)) {
|
||||||
const locationKey = key as LocationKey;
|
const locationKey = key as LocationKey;
|
||||||
|
if (ignoredLocationKey != null && ignoredLocationKey == locationKey) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (data.choices[locationKey] && login in data.choices[locationKey]) {
|
if (data.choices[locationKey] && login in data.choices[locationKey]) {
|
||||||
delete data.choices[locationKey][login];
|
delete data.choices[locationKey][login];
|
||||||
if (Object.keys(data.choices[locationKey]).length === 0) {
|
if (Object.keys(data.choices[locationKey]).length === 0) {
|
||||||
@ -329,6 +334,9 @@ export async function addChoice(login: string, trusted: boolean, locationKey: Lo
|
|||||||
// Pokud měníme pouze lokaci, mažeme případné předchozí
|
// Pokud měníme pouze lokaci, mažeme případné předchozí
|
||||||
if (foodIndex == null) {
|
if (foodIndex == null) {
|
||||||
data = await removeChoiceIfPresent(login, selectedDate);
|
data = await removeChoiceIfPresent(login, selectedDate);
|
||||||
|
} else {
|
||||||
|
// Mažeme případné ostatní volby (měla by být maximálně jedna)
|
||||||
|
removeChoiceIfPresent(login, selectedDate, locationKey);
|
||||||
}
|
}
|
||||||
// TODO vytáhnout inicializaci "prázdné struktury" do vlastní funkce
|
// TODO vytáhnout inicializaci "prázdné struktury" do vlastní funkce
|
||||||
if (!(data.choices[locationKey])) {
|
if (!(data.choices[locationKey])) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user