You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
1.8 KiB

3 years ago
// it has style inside index.scss ---> // Start ReactTable4 && end ReactTable4
3 years ago
import React, { useRef, useState } from "react";
3 years ago
3 years ago
import BasicTable from "./BasicTable";
3 years ago
import TitleSubtitle from "../TitleSubtitle";
3 years ago
import MultiRangeInput from "./MultiRangeInput";
3 years ago
import BreadCrumb from "../BreadCrumb";
const ReactTable4 = ({ breadCrumbs }) => {
3 years ago
const [tabs, setTabs] = useState([
{ name: "جدول " + breadCrumbs[breadCrumbs.length - 1].name, id: 0 },
]);
3 years ago
let [activeTab, setActivateTab] = useState(0);
3 years ago
3 years ago
const stateRef = useRef();
const stateActiveRef = useRef();
3 years ago
3 years ago
stateRef.current = tabs;
stateActiveRef.current = activeTab;
const addTab = (newTab) => {
setActivateTab(newTab.id);
if (stateRef.current.find((e) => e.id === newTab.id)) return;
setTabs([...stateRef.current, newTab]);
};
3 years ago
3 years ago
const delTab = (id) => {
setTabs(stateRef.current.filter((e) => e.id != id));
if (stateActiveRef.current == id) setActivateTab(0);
};
3 years ago
return (
3 years ago
<div className="my-10 w-11/12 mx-auto">
3 years ago
{/* breadCrumb */}
<div className="flex flex-row items-center">
<BreadCrumb />
{console.log("mahdi")}
{console.log(BreadCrumb)}
3 years ago
</div>
<div className="my-7">
<TitleSubtitle titleBorderClassName={"ml-1 w-1 h-6 bg-red-400"} />
3 years ago
</div>
3 years ago
<BasicTable
addTab={addTab}
tabs={tabs}
delTab={delTab}
setActivateTab={setActivateTab}
activeTab={activeTab}
/>
3 years ago
</div>
);
};
3 years ago
3 years ago
export default ReactTable4;
3 years ago
3 years ago
ReactTable4.defaultProps = {
3 years ago
breadCrumbs: [
{
name: "صفحه اصلی",
active: false,
},
{
name: "آمار و گزارشات",
active: false,
},
{
name: "فروش محصولات",
active: false,
},
{
name: "سال 1400",
active: true,
},
],
};