From 4f49ef89df3e9ca00a068a3fc796646b26245cf0 Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Wed, 30 Aug 2023 16:48:26 +0530 Subject: added new table component for clients list --- src/app/manage/customer/list/address.rs | 37 ---------------------- src/app/manage/customer/list/list_item.rs | 38 ----------------------- src/app/manage/customer/list/mod.rs | 51 ------------------------------- src/app/manage/customer/mod.rs | 49 ++++++++++++----------------- 4 files changed, 20 insertions(+), 155 deletions(-) delete mode 100644 src/app/manage/customer/list/address.rs delete mode 100644 src/app/manage/customer/list/list_item.rs delete mode 100644 src/app/manage/customer/list/mod.rs (limited to 'src/app/manage/customer') diff --git a/src/app/manage/customer/list/address.rs b/src/app/manage/customer/list/address.rs deleted file mode 100644 index 8498530..0000000 --- a/src/app/manage/customer/list/address.rs +++ /dev/null @@ -1,37 +0,0 @@ -/* openbills-web - Web client for Libre Billing Software - * Copyright (C) 2023 Vidhu Kant Sharma - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -use yew::prelude::*; - -use crate::models::customer; - -#[derive(Properties, PartialEq)] -pub struct Props { - pub address: customer::Address, - pub title: String, -} - -#[function_component(Address)] -pub fn address(props: &Props) -> Html { - - html! { -
- {props.title.clone()} - {props.address.address_text.clone()} -
- } -} diff --git a/src/app/manage/customer/list/list_item.rs b/src/app/manage/customer/list/list_item.rs deleted file mode 100644 index 26ac51d..0000000 --- a/src/app/manage/customer/list/list_item.rs +++ /dev/null @@ -1,38 +0,0 @@ -/* openbills-web - Web client for Libre Billing Software - * Copyright (C) 2023 Vidhu Kant Sharma - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -use yew::prelude::*; - -use crate::models::customer; - -#[derive(Properties, PartialEq)] -pub struct Props { - pub customer: customer::Customer, - pub s_no: usize, -} - -#[function_component(ListItem)] -pub fn list_item(props: &Props) -> Html { - html! { -
- {props.s_no} - {props.customer.name.clone()} - {props.customer.gstin.clone()} - -
- } -} diff --git a/src/app/manage/customer/list/mod.rs b/src/app/manage/customer/list/mod.rs deleted file mode 100644 index 00beb63..0000000 --- a/src/app/manage/customer/list/mod.rs +++ /dev/null @@ -1,51 +0,0 @@ -/* openbills-web - Web client for Libre Billing Software - * Copyright (C) 2023 Vidhu Kant Sharma - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -mod list_item; -mod address; - -use yew::prelude::*; - -use crate::models::customer; - -#[derive(Properties, PartialEq)] -pub struct Props { - pub customers: Vec, -} - -#[function_component(CustomersList)] -pub fn customers_list(props: &Props) -> Html { - let list_items: Html = props.customers - .iter() - .enumerate() - .map(|(id, c)| html!()) - .collect(); - - html! { -
-
- {"S. No"} - {"Customer Name"} - {"GSTIN"} - -
-
- {list_items} -
-
- } -} diff --git a/src/app/manage/customer/mod.rs b/src/app/manage/customer/mod.rs index 0ae0f24..2f5d505 100644 --- a/src/app/manage/customer/mod.rs +++ b/src/app/manage/customer/mod.rs @@ -15,8 +15,6 @@ * along with this program. If not, see . */ -mod list; - use yew::prelude::*; use crate::models::customer; @@ -54,43 +52,36 @@ pub fn manage_customer() -> Html { c1s1.country = "India".to_string(); c1.add_shipping_address(c1s1); - for _ in 0..20 { + for _ in 0..5000 { customers.push(c1.clone()); } + let table_template = String::from("1fr 3fr 2fr"); + + let customers_table: Html = customers + .iter() + .enumerate() + .map(|(id, c)| html! ( + + {id + 1} + {c.name.clone()} + {c.gstin.clone()} + + )) + .collect(); + html! {

{"To Add: Searching, Viewing, Editing, Deletion, Batch Deletion"}

-
- - {"S. No"} - - - - {"Customer Name"} - - - - {"GSTIN"} - +
+ {"S. No"} + {"Customer Name"} + {"GSTIN"}
- - - - {"S. No"} - - - - {"Customer Name"} - - - - {"GSTIN"} - - + {customers_table}
-- cgit v1.2.3