mirror of
https://codeberg.org/PLG-Development/PLG-MuDiCS
synced 2026-07-06 00:47:09 +00:00
fix(control): toggle select all
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
import {
|
import {
|
||||||
all_displays_of_group_selected,
|
all_displays_of_group_selected,
|
||||||
get_display_ids_in_group,
|
get_display_ids_in_group,
|
||||||
select_all_of_group,
|
set_select_for_group,
|
||||||
set_new_display_order
|
set_new_display_order
|
||||||
} from '$lib/ts/stores/displays';
|
} from '$lib/ts/stores/displays';
|
||||||
import DNDGrip from '$lib/components/DNDGrip.svelte';
|
import DNDGrip from '$lib/components/DNDGrip.svelte';
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
async function select_all_of_this_group() {
|
async function select_all_of_this_group() {
|
||||||
const new_value = !($all_selected || false);
|
const new_value = !($all_selected || false);
|
||||||
await select_all_of_group(display_group_id, new_value);
|
await set_select_for_group(display_group_id, new_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handle_consider(e: CustomEvent) {
|
async function handle_consider(e: CustomEvent) {
|
||||||
|
|||||||
@@ -82,10 +82,7 @@ export async function all_displays_of_group_selected(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function select_all_of_group(
|
export async function set_select_for_group(display_group_id: string, new_value: boolean) {
|
||||||
display_group_id: string,
|
|
||||||
new_value: boolean | null = null
|
|
||||||
) {
|
|
||||||
const displays_of_group: Display[] = await db.displays
|
const displays_of_group: Display[] = await db.displays
|
||||||
.where('group_id')
|
.where('group_id')
|
||||||
.equals(display_group_id)
|
.equals(display_group_id)
|
||||||
|
|||||||
@@ -4,14 +4,13 @@
|
|||||||
all_displays_of_group_selected,
|
all_displays_of_group_selected,
|
||||||
get_display_by_id,
|
get_display_by_id,
|
||||||
get_display_groups,
|
get_display_groups,
|
||||||
select_all_of_group,
|
set_select_for_group,
|
||||||
set_new_display_group_order
|
set_new_display_group_order
|
||||||
} from '$lib/ts/stores/displays';
|
} from '$lib/ts/stores/displays';
|
||||||
import {
|
import {
|
||||||
change_height,
|
change_height,
|
||||||
current_height,
|
current_height,
|
||||||
dnd_flip_duration_ms,
|
dnd_flip_duration_ms,
|
||||||
get_selectable_color_classes,
|
|
||||||
is_display_drag,
|
is_display_drag,
|
||||||
is_group_drag,
|
is_group_drag,
|
||||||
next_height_step_size,
|
next_height_step_size,
|
||||||
@@ -80,10 +79,10 @@
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
async function select_all(current_displays: DisplayGroup[]) {
|
async function toggle_all_selected_displays(current_displays: DisplayGroup[]) {
|
||||||
const new_value = !all_groups_selected;
|
const new_value = !$all_groups_selected;
|
||||||
for (const display_group of current_displays) {
|
for (const display_group of current_displays) {
|
||||||
await select_all_of_group(display_group.id, new_value);
|
await set_select_for_group(display_group.id, new_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -204,16 +203,8 @@
|
|||||||
</span>
|
</span>
|
||||||
<div class="flex flex-row gap-1">
|
<div class="flex flex-row gap-1">
|
||||||
<button
|
<button
|
||||||
class="min-w-40 px-4 rounded-xl cursor-pointer duration-200 transition-colors {get_selectable_color_classes(
|
class="min-w-40 px-4 rounded-xl cursor-pointer duration-200 transition-colors bg-stone-600"
|
||||||
$all_groups_selected || false,
|
onclick={async () => await toggle_all_selected_displays($display_groups)}
|
||||||
{
|
|
||||||
bg: true,
|
|
||||||
hover: true,
|
|
||||||
active: true,
|
|
||||||
text: true
|
|
||||||
}
|
|
||||||
)}"
|
|
||||||
onclick={async () => await select_all($display_groups || [])}
|
|
||||||
>
|
>
|
||||||
<span>{$all_groups_selected || false ? 'Alle abwählen' : 'Alle auswählen'}</span>
|
<span>{$all_groups_selected || false ? 'Alle abwählen' : 'Alle auswählen'}</span>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user