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 --- css/manage/_customer.scss | 53 ------------------------------- 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 ++++++++++++---------------- 5 files changed, 20 insertions(+), 208 deletions(-) delete mode 100644 css/manage/_customer.scss 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 diff --git a/css/manage/_customer.scss b/css/manage/_customer.scss deleted file mode 100644 index f67bcbb..0000000 --- a/css/manage/_customer.scss +++ /dev/null @@ -1,53 +0,0 @@ -#manage-customer-page { - //$h: calc(var(--nav-height) + calc(var(--main-padding) * 2)); - //height: calc(100vh - $h); - width: 100%; - - .customers-list-wrapper { - $header-height: 3rem; - $list-item-height: 2.5rem; - $pd: 0.7em; - position: relative; - - .customers-list-header, .customers-list-item { - display: grid; - grid-template-columns: 5rem 2fr 1fr 1fr; - padding: 0 $pd; - align-items: center; - } - - .customers-list-header { - $br: $pd; - background-color: var(--body-bg-alt); - width: 100%; - height: $header-height; - position: absolute; - top: 0; - left: 0; - border-bottom: 1px solid var(--link-fg); - font-weight: bold; - font-size: 1.2em; - border-radius: $br $br 0 0; - } - - .customers-list { - border: 1px solid var(--body-bg-alt); - min-height: 40rem; - max-height: 75vh; - overflow-y: scroll; - width: 100%; - position: absolute; - top: $header-height; - left: 0; - - .customers-list-item { - grid-template-rows: $list-item-height; - font-size: 1.2em; - } - - .customers-list-item:nth-child(even) { - background-color: var(--body-bg-alt); - } - } - } -} 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