Commit a554184e by dongshufeng

refactor(all): add iesplan example

parent a4d16295
......@@ -12,7 +12,8 @@ pub fn create_view(e: Element) {
}
pub fn new(xlsx_bytes: Vec<u8>) -> Option<Tiles> {
pub fn build_tiles(xlsx_bytes: Vec<u8>) -> Option<Tiles> {
let (m, n, merge_map) = get_first_sheet_merged_cells(xlsx_bytes)?;
let mut class_vec = Vec::new();
let mut is_dealt = vec![false; (m * n) as usize];
......
......@@ -3,16 +3,16 @@ use std::collections::HashMap;
use yew::prelude::*;
use yew_bulma::calendar::*;
use yew_bulma::chart::line::{render_ints, render_ints_auto};
use yew_bulma::chart::*;
use yew_bulma::*;
use yew_bulma::layout::tiles::Tiles;
use crate::build_tiles;
pub enum Msg {
DateRangePicked(u64, u64),
}
pub struct StartPage {
templates: HashMap<String, String>,
tiles: Tiles,
chart1: NodeRef,
chart2: NodeRef,
chart3: NodeRef,
......@@ -24,8 +24,9 @@ impl Component for StartPage {
type Properties = ();
fn create(_: &Context<Self>) -> Self {
let tiles = build_tiles(include_bytes!("../layout.xlsx").to_vec()).unwrap();
Self {
templates: Default::default(),
tiles,
chart1: Default::default(),
chart2: Default::default(),
chart3: Default::default(),
......@@ -33,44 +34,6 @@ impl Component for StartPage {
}
}
fn rendered(&mut self, _: &Context<Self>, _: bool) {
if let Some(ele) = self.chart1.cast::<web_sys::Element>() {
if let Some(template) = self.templates.get("line1") {
render_template(ele, template);
}
}
if let Some(ele) = self.chart2.cast::<web_sys::Element>() {
if let Some(template) = self.templates.get("template2") {
render_template(ele, template);
}
}
if let Some(element) = self.chart3.cast::<web_sys::Element>() {
if let Some(template) = self.templates.get("line1") {
render_ints_auto(
element,
template,
"my chart",
&["chart1"],
&[&[5, 4, 3, 2, 1]],
&["p1", "p2", "p3", "p4", "p5"],
);
}
}
if let Some(element) = self.chart4.cast::<web_sys::Element>() {
if let Some(template) = self.templates.get("template2") {
render_ints(
element,
template,
"my chart",
&["chart1", "chart2"],
&[&[50, 40, 30, 20, 10], &[10, 20, 30, 40, 50]],
&["p1", "p2", "p3", "p4", "p5"],
(Some("y axis"), Some(5.), Some(60.)),
);
}
}
}
fn update(&mut self, _: &Context<Self>, msg: Self::Message) -> bool {
match msg {
Msg::DateRangePicked(start, end) => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论