Skip to content

Commit aaabcc2

Browse files
kylemellojm18919
authored andcommitted
Tables now take a header and cells struct
1 parent 0d92655 commit aaabcc2

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

plotly/src/traces/table.rs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ where
5050
T: Serialize + Clone + Default + 'static,
5151
N: Serialize + Clone + Default + 'static,
5252
{
53-
pub fn new(header: Vec<T>, cells: Vec<Vec<N>>) -> Box<Self> {
53+
pub fn new(header: Header<T>, cells: Cells<N>) -> Box<Self> {
5454
Box::new(Table {
55-
header: Header::new().values(header).into(),
56-
cells: Cells::new().values(cells).into(),
55+
header: Some(header),
56+
cells: Some(cells),
5757
..Default::default()
5858
})
5959
}
@@ -93,8 +93,11 @@ impl<N> Cells<N>
9393
where
9494
N: Serialize + Clone + Default + 'static,
9595
{
96-
pub fn new() -> Self {
97-
Default::default()
96+
pub fn new(values: Vec<Vec<N>>) -> Self {
97+
Cells {
98+
values: Some(values),
99+
..Default::default()
100+
}
98101
}
99102
}
100103

@@ -122,8 +125,11 @@ impl<T> Header<T>
122125
where
123126
T: Serialize + Clone + Default + 'static,
124127
{
125-
pub fn new() -> Self {
126-
Default::default()
128+
pub fn new(values: Vec<T>) -> Self {
129+
Header {
130+
values: Some(values),
131+
..Default::default()
132+
}
127133
}
128134
}
129135

@@ -147,9 +153,9 @@ mod tests {
147153

148154
#[test]
149155
fn test_serialize_table() {
150-
let columns = vec![String::from("col1"), String::from("col2")];
151-
let values = vec![vec![1, 2], vec![2, 3]];
152-
let trace = Table::new(columns.clone(), values);
156+
let columns = Header::new(vec![String::from("col1"), String::from("col2")]);
157+
let values = Cells::new(vec![vec![1, 2], vec![2, 3]]);
158+
let trace = Table::new(columns, values);
153159

154160
let expected = json!({
155161
"type": "table",

0 commit comments

Comments
 (0)