2025-10-02 17:00:17 +02:00
|
|
|
namespace _dali
|
|
|
|
|
{
|
|
|
|
|
|
2025-10-14 22:10:56 +02:00
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
export function access_level_encode(
|
|
|
|
|
access_level : _dali.type.enum_access_level
|
|
|
|
|
) : ("none" | "view" | "edit" | "admin")
|
|
|
|
|
{
|
|
|
|
|
switch (access_level) {
|
|
|
|
|
case _dali.type.enum_access_level.none: return "none";
|
|
|
|
|
case _dali.type.enum_access_level.view: return "view";
|
|
|
|
|
case _dali.type.enum_access_level.edit: return "edit";
|
|
|
|
|
case _dali.type.enum_access_level.admin: return "admin";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
export function access_level_decode(
|
|
|
|
|
representation : /*("none" | "view" | "edit" | "admin")*/string
|
|
|
|
|
) : _dali.type.enum_access_level
|
|
|
|
|
{
|
|
|
|
|
switch (representation)
|
|
|
|
|
{
|
|
|
|
|
case "none": return _dali.type.enum_access_level.none;
|
|
|
|
|
case "view": return _dali.type.enum_access_level.view;
|
|
|
|
|
case "edit": return _dali.type.enum_access_level.edit;
|
|
|
|
|
case "admin": return _dali.type.enum_access_level.admin;
|
|
|
|
|
default: throw (new Error("invalid access level representation: " + representation));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-10-02 17:00:17 +02:00
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
export function view_mode_encode(
|
|
|
|
|
mode : _dali.type.enum_view_mode
|
|
|
|
|
) : string
|
|
|
|
|
{
|
|
|
|
|
switch (mode)
|
|
|
|
|
{
|
|
|
|
|
case _dali.type.enum_view_mode.week: {return "week"; break;}
|
|
|
|
|
case _dali.type.enum_view_mode.list: {return "list"; break;}
|
|
|
|
|
default: {throw (new Error("invalid mode"));}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
export function view_mode_decode(
|
|
|
|
|
view_mode_encoded : string
|
|
|
|
|
) : _dali.type.enum_view_mode
|
|
|
|
|
{
|
|
|
|
|
const map : Record<string, _dali.type.enum_view_mode> = {
|
|
|
|
|
"week": _dali.type.enum_view_mode.week,
|
|
|
|
|
"list": _dali.type.enum_view_mode.list,
|
|
|
|
|
};
|
|
|
|
|
if (! (view_mode_encoded in map))
|
|
|
|
|
{
|
|
|
|
|
throw (new Error("invalid mode: " + view_mode_encoded));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return map[view_mode_encoded];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
export function view_mode_determine(
|
|
|
|
|
mode_descriptor : string
|
|
|
|
|
) : _dali.type.enum_view_mode
|
|
|
|
|
{
|
|
|
|
|
if (mode_descriptor === "auto")
|
|
|
|
|
{
|
|
|
|
|
return (
|
|
|
|
|
(window.innerWidth >= 800)
|
|
|
|
|
?
|
|
|
|
|
_dali.type.enum_view_mode.week
|
|
|
|
|
:
|
|
|
|
|
_dali.type.enum_view_mode.list
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return view_mode_decode(mode_descriptor);
|
|
|
|
|
}
|
2025-10-14 22:10:56 +02:00
|
|
|
}
|
2025-10-02 17:00:17 +02:00
|
|
|
|
|
|
|
|
}
|