2024-07-23 00:05:48 +02:00
|
|
|
import * as React from "bloatless-react";
|
|
|
|
|
|
2024-07-23 00:57:40 +02:00
|
|
|
import BoardViewModel from "../../ViewModel/Pages/boardViewModel";
|
2024-07-23 00:05:48 +02:00
|
|
|
|
2024-07-23 00:57:40 +02:00
|
|
|
export function BoardEntry(boardViewModel: BoardViewModel) {
|
2024-07-23 00:05:48 +02:00
|
|
|
const view = (
|
2024-07-23 00:09:39 +02:00
|
|
|
<button
|
2024-07-23 00:57:40 +02:00
|
|
|
set:color={boardViewModel.color}
|
2024-07-23 00:09:39 +02:00
|
|
|
class="tile colored-tile"
|
2024-07-23 02:40:11 +02:00
|
|
|
|
|
|
|
|
toggle:selected={boardViewModel.isSelected}
|
|
|
|
|
on:click={boardViewModel.select}
|
2024-07-23 00:09:39 +02:00
|
|
|
>
|
2024-07-23 00:57:40 +02:00
|
|
|
<span class="shadow" subscribe:innerText={boardViewModel.name}></span>
|
|
|
|
|
<b subscribe:innerText={boardViewModel.name}></b>
|
2024-07-23 00:05:48 +02:00
|
|
|
</button>
|
|
|
|
|
);
|
|
|
|
|
|
2024-07-23 14:27:38 +02:00
|
|
|
boardViewModel.index.subscribe((newIndex) => {
|
|
|
|
|
view.style.order = newIndex;
|
|
|
|
|
});
|
|
|
|
|
|
2024-07-23 00:05:48 +02:00
|
|
|
return view;
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-24 13:31:28 +02:00
|
|
|
export const BoardViewModelToEntry: React.StateItemConverter<
|
2024-07-23 00:57:40 +02:00
|
|
|
BoardViewModel
|
|
|
|
|
> = (boardViewModel: BoardViewModel) => {
|
|
|
|
|
return BoardEntry(boardViewModel);
|
2024-07-23 00:05:48 +02:00
|
|
|
};
|