diff options
| author | Vidhu Kant Sharma <vidhukant@vidhukant.xyz> | 2022-09-27 17:34:12 +0530 | 
|---|---|---|
| committer | Vidhu Kant Sharma <vidhukant@vidhukant.xyz> | 2022-09-27 17:34:12 +0530 | 
| commit | 072e53f0b2eb8fa14c0aa49286193784c73257cb (patch) | |
| tree | eaf151ed3c248a5af730cbf5c0b950794ccace1f /src/components/tables/brand-table.js | |
| parent | 24bb92944849ac2ddf2f777d52c23a150eedffe8 (diff) | |
added a brands management page
Diffstat (limited to 'src/components/tables/brand-table.js')
| -rw-r--r-- | src/components/tables/brand-table.js | 54 | 
1 files changed, 54 insertions, 0 deletions
diff --git a/src/components/tables/brand-table.js b/src/components/tables/brand-table.js new file mode 100644 index 0000000..4b361a1 --- /dev/null +++ b/src/components/tables/brand-table.js @@ -0,0 +1,54 @@ +/* OpenBills-web - Web based libre billing software + * Copyright (C) 2022  Vidhu Kant Sharma <vidhukant@vidhukant.xyz> + + * 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 <https://www.gnu.org/licenses/>. + */ + +import './scss/brand-table.scss'; +import { deleteBrand } from './../../classes/brand'; + +const BrandTable = (props) => { +  const handleEdit = (i) => { +    alert("editing coming soon") +  } + +  const handleDelete = (b) => { +    // TODO: add confirmation prompt +    deleteBrand(b.Id, handleDelSuccess, handleDelFail); +  } + +  const handleDelSuccess = () => { +    props.refresh(); +  } + +  const handleDelFail = () => { +    alert("fail") +  } + +  return ( +    <div className={"brand-table"}> +      {props.brands && props.brands.map(i => +        <div className={"brand"}> +          <p className={"brand-name"}>{i.Name}</p> +          <div className={"buttons"}> +            <input type="button" value="Edit" onClick={() => handleEdit(i)}/> +            <input type="button" value="Delete" onClick={() => handleDelete(i)}/> +          </div> +        </div> +      )} +    </div> +  ); +} + +export default BrandTable;  |