Add row and column headers to plates
This commit is contained in:
parent
43f17f0d6a
commit
c8e51e2440
|
@ -13,6 +13,11 @@ table, tr, td {
|
||||||
user-select: none; /* Prevents dragging issue */
|
user-select: none; /* Prevents dragging issue */
|
||||||
border-spacing: 0px;
|
border-spacing: 0px;
|
||||||
}
|
}
|
||||||
|
th {
|
||||||
|
font-size: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
td.plate_cell {
|
td.plate_cell {
|
||||||
height: 2.3vmin;
|
height: 2.3vmin;
|
||||||
background: none;
|
background: none;
|
||||||
|
|
|
@ -12,7 +12,7 @@ use crate::data::transfer_region::Region;
|
||||||
use crate::components::plates::util::Palettes;
|
use crate::components::plates::util::Palettes;
|
||||||
const PALETTE: super::util::ColorPalette = Palettes::RAINBOW;
|
const PALETTE: super::util::ColorPalette = Palettes::RAINBOW;
|
||||||
|
|
||||||
use super::super::transfer_menu::RegionDisplay;
|
use super::super::transfer_menu::{RegionDisplay, num_to_letters};
|
||||||
|
|
||||||
#[derive(Properties, PartialEq)]
|
#[derive(Properties, PartialEq)]
|
||||||
pub struct DestinationPlateProps {
|
pub struct DestinationPlateProps {
|
||||||
|
@ -97,8 +97,17 @@ pub fn DestinationPlate(props: &DestinationPlateProps) -> Html {
|
||||||
|
|
||||||
let mouseleave_callback = Callback::clone(&mouseup_callback);
|
let mouseleave_callback = Callback::clone(&mouseup_callback);
|
||||||
|
|
||||||
|
let column_header = {
|
||||||
|
let headers = (1..=props.destination_plate.plate.size().1)
|
||||||
|
.map(|j| {
|
||||||
|
html! {<th>{j}</th>}
|
||||||
|
})
|
||||||
|
.collect::<Html>();
|
||||||
|
html!{<tr><th />{ headers }</tr>}
|
||||||
|
};
|
||||||
let rows = (1..=props.destination_plate.plate.size().0)
|
let rows = (1..=props.destination_plate.plate.size().0)
|
||||||
.map(|i| {
|
.map(|i| {
|
||||||
|
let row_header = html! {<th>{num_to_letters(i)}</th>};
|
||||||
let row = (1..=props.destination_plate.plate.size().1).map(|j| {
|
let row = (1..=props.destination_plate.plate.size().1).map(|j| {
|
||||||
html! {
|
html! {
|
||||||
<DestPlateCell i={i} j={j}
|
<DestPlateCell i={i} j={j}
|
||||||
|
@ -111,7 +120,7 @@ pub fn DestinationPlate(props: &DestinationPlateProps) -> Html {
|
||||||
}).collect::<Html>();
|
}).collect::<Html>();
|
||||||
html! {
|
html! {
|
||||||
<tr>
|
<tr>
|
||||||
{ row }
|
{ row_header }{ row }
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -126,7 +135,7 @@ pub fn DestinationPlate(props: &DestinationPlateProps) -> Html {
|
||||||
onmouseleave={move |e| {
|
onmouseleave={move |e| {
|
||||||
mouseleave_callback.emit(e);
|
mouseleave_callback.emit(e);
|
||||||
}}>
|
}}>
|
||||||
{ rows }
|
{ column_header }{ rows }
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ use crate::data::transfer_region::Region;
|
||||||
use crate::components::plates::util::Palettes;
|
use crate::components::plates::util::Palettes;
|
||||||
const PALETTE: super::util::ColorPalette = Palettes::RAINBOW;
|
const PALETTE: super::util::ColorPalette = Palettes::RAINBOW;
|
||||||
|
|
||||||
use super::super::transfer_menu::RegionDisplay;
|
use super::super::transfer_menu::{RegionDisplay, num_to_letters};
|
||||||
|
|
||||||
#[derive(PartialEq, Properties)]
|
#[derive(PartialEq, Properties)]
|
||||||
pub struct SourcePlateProps {
|
pub struct SourcePlateProps {
|
||||||
|
@ -98,8 +98,17 @@ pub fn SourcePlate(props: &SourcePlateProps) -> Html {
|
||||||
|
|
||||||
let mouseleave_callback = Callback::clone(&mouseup_callback);
|
let mouseleave_callback = Callback::clone(&mouseup_callback);
|
||||||
|
|
||||||
|
let column_header = {
|
||||||
|
let headers = (1..=props.source_plate.plate.size().1)
|
||||||
|
.map(|j| {
|
||||||
|
html! {<th>{j}</th>}
|
||||||
|
})
|
||||||
|
.collect::<Html>();
|
||||||
|
html!{<tr><th />{ headers }</tr>}
|
||||||
|
};
|
||||||
let rows = (1..=props.source_plate.plate.size().0)
|
let rows = (1..=props.source_plate.plate.size().0)
|
||||||
.map(|i| {
|
.map(|i| {
|
||||||
|
let row_header = html! {<th>{num_to_letters(i)}</th>};
|
||||||
let row = (1..=props.source_plate.plate.size().1)
|
let row = (1..=props.source_plate.plate.size().1)
|
||||||
.map(|j| {
|
.map(|j| {
|
||||||
html! {
|
html! {
|
||||||
|
@ -114,7 +123,7 @@ pub fn SourcePlate(props: &SourcePlateProps) -> Html {
|
||||||
.collect::<Html>();
|
.collect::<Html>();
|
||||||
html! {
|
html! {
|
||||||
<tr>
|
<tr>
|
||||||
{ row }
|
{ row_header }{ row }
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -129,6 +138,7 @@ pub fn SourcePlate(props: &SourcePlateProps) -> Html {
|
||||||
onmouseleave={move |e| {
|
onmouseleave={move |e| {
|
||||||
mouseleave_callback.emit(e);
|
mouseleave_callback.emit(e);
|
||||||
}}>
|
}}>
|
||||||
|
{ column_header }
|
||||||
{ rows }
|
{ rows }
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue