feat: update data buttons

This commit is contained in:
IlyaDoronin 2023-07-11 18:29:32 +03:00
parent 6af09b4bb7
commit 48e3b9d891
4 changed files with 42 additions and 29 deletions

@ -1,5 +1,5 @@
import { useEffect } from "react";
import { Box, IconButton, useTheme } from "@mui/material";
import { Box, IconButton, useTheme, Tooltip } from "@mui/material";
import {
DataGrid,
GridColDef,
@ -18,6 +18,7 @@ import EditIcon from "@mui/icons-material/Edit";
import { deleteDiscount } from "@root/api/discounts";
import { GridSelectionModel } from "@mui/x-data-grid";
import { useDiscounts } from "@root/hooks/useDiscounts.hook";
import AutorenewIcon from "@mui/icons-material/Autorenew";
const columns: GridColDef[] = [
// {
@ -151,6 +152,14 @@ export default function DiscountDataGrid({ selectedRowsHC }: Props) {
<Box
sx={{ width: "100%", marginTop: "55px", p: "16px", maxWidth: "1000px" }}
>
<Tooltip title="обновить список привилегий">
<IconButton
onClick={requestDiscounts}
style={{ display: "block", margin: "0 auto" }}
>
<AutorenewIcon sx={{ color: "white" }} />
</IconButton>
</Tooltip>
<Box sx={{ height: 600 }}>
<DataGrid
checkboxSelection={true}

@ -1,7 +1,8 @@
import { GridColDef } from "@mui/x-data-grid";
import DataGrid from "@kitUI/datagrid";
import { Typography } from "@mui/material";
import { Tooltip, IconButton } from "@mui/material";
import { usePrivilegeStore } from "@root/stores/privilegesStore";
import AutorenewIcon from "@mui/icons-material/Autorenew";
const columns: GridColDef[] = [
{ field: "id", headerName: "id", width: 150 },
@ -11,25 +12,31 @@ const columns: GridColDef[] = [
{ field: "price", headerName: "Стоимость", width: 100 },
];
export default function Privileges() {
type Props = {
requestPrivilegies: () => Promise<void>;
};
export default function Privileges({ requestPrivilegies }: Props) {
const privileges = usePrivilegeStore((state) => state.privileges);
// const { mergedPrivileges } = useCombinedPrivileges();
const privilegesGridData = privileges
.filter(privilege => (
!privilege.isDeleted
))
.map((privilege) => ({
id: privilege.privilegeId,
name: privilege.name,
description: privilege.description,
type: privilege.type,
price: privilege.price,
}));
.filter((privilege) => !privilege.isDeleted)
.map((privilege) => ({
id: privilege.privilegeId,
name: privilege.name,
description: privilege.description,
type: privilege.type,
price: privilege.price,
}));
return (
<DataGrid
rows={privilegesGridData}
columns={columns}
/>
<>
<Tooltip title="обновить список привилегий">
<IconButton onClick={requestPrivilegies}>
<AutorenewIcon sx={{ color: "white" }} />
</IconButton>
</Tooltip>
<DataGrid rows={privilegesGridData} columns={columns} />
</>
);
}

@ -1,5 +1,5 @@
import { useState, useEffect } from "react";
import { Container, IconButton, Tooltip, Typography } from "@mui/material";
import { Container, Typography } from "@mui/material";
import { GridSelectionModel } from "@mui/x-data-grid";
import Cart from "@root/kitUI/Cart/Cart";
@ -12,7 +12,6 @@ import TariffsDG from "./tariffsDG";
import CreateTariff from "./CreateTariff";
import Privileges from "./Privileges/Privileges";
import ChangePriceModal from "./Privileges/ChangePriceModal";
import AutorenewIcon from "@mui/icons-material/Autorenew";
export default function Tariffs() {
const [selectedTariffs, setSelectedTariffs] = useState<GridSelectionModel>(
@ -37,17 +36,9 @@ export default function Tariffs() {
alignItems: "center",
}}
>
<button onClick={() => requestPrivilegies()}>provileges</button>
<button onClick={() => requestTariffs()}>tariffs</button>
<Typography variant="h6">Список привилегий</Typography>
<Tooltip title="обновить список привилегий">
<IconButton onClick={requestPrivilegies}>
<AutorenewIcon sx={{ color: "white" }} />
</IconButton>
</Tooltip>
<Privileges />
<Privileges requestPrivilegies={requestPrivilegies} />
<ChangePriceModal />

@ -2,7 +2,7 @@
import React from "react";
import { useEffect, useState } from "react";
import { GridColDef, GridSelectionModel, GridToolbar } from "@mui/x-data-grid";
import { Box, Button, IconButton } from "@mui/material";
import { Box, Button, IconButton,Tooltip } from "@mui/material";
import BackspaceIcon from "@mui/icons-material/Backspace";
import { enqueueSnackbar } from "notistack";
import ModeEditOutlineOutlinedIcon from "@mui/icons-material/ModeEditOutlineOutlined";
@ -18,6 +18,7 @@ import { authStore } from "@root/stores/auth";
import DeleteModal from "@root/pages/dashboard/Content/Tariffs/DeleteModal";
import EditModal from "./EditModal";
import { Tariff } from "@root/model/tariff";
import AutorenewIcon from "@mui/icons-material/Autorenew";
interface Props {
selectedTariffs: GridSelectionModel;
@ -118,6 +119,11 @@ export default function TariffsDG({
return (
<>
<Tooltip title="обновить список тарифов">
<IconButton onClick={() => requestTariffs()}>
<AutorenewIcon sx={{ color: "white" }} />
</IconButton>
</Tooltip>
<DataGrid
disableSelectionOnClick={true}
checkboxSelection={true}