feat: deals filters indicator and refactoring
This commit is contained in:
@ -6,7 +6,7 @@ import { useDealsContext } from "@/app/deals/contexts/DealsContext";
|
||||
import BaseTable from "@/components/ui/BaseTable/BaseTable";
|
||||
|
||||
const DealsTable: FC = () => {
|
||||
const { deals, paginationInfo, page, setPage, dealsFilters } =
|
||||
const { deals, paginationInfo, page, setPage, dealsFiltersForm } =
|
||||
useDealsContext();
|
||||
const columns = useDealsTableColumns();
|
||||
|
||||
@ -18,12 +18,18 @@ const DealsTable: FC = () => {
|
||||
records={[...deals]}
|
||||
columns={columns}
|
||||
sortStatus={{
|
||||
columnAccessor: dealsFilters.sortingField,
|
||||
direction: dealsFilters.sortingDirection,
|
||||
columnAccessor: dealsFiltersForm.values.sortingField ?? "",
|
||||
direction: dealsFiltersForm.values.sortingDirection,
|
||||
}}
|
||||
onSortStatusChange={sorting => {
|
||||
dealsFilters.setSortingField(sorting.columnAccessor);
|
||||
dealsFilters.setSortingDirection(sorting.direction);
|
||||
dealsFiltersForm.setFieldValue(
|
||||
"sortingField",
|
||||
sorting.columnAccessor
|
||||
);
|
||||
dealsFiltersForm.setFieldValue(
|
||||
"sortingDirection",
|
||||
sorting.direction
|
||||
);
|
||||
}}
|
||||
emptyState={
|
||||
<Group
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { IconEdit, IconFilter, IconPlus } from "@tabler/icons-react";
|
||||
import { Flex, Group } from "@mantine/core";
|
||||
import { Flex, Group, Indicator } from "@mantine/core";
|
||||
import { modals } from "@mantine/modals";
|
||||
import ToolPanelAction from "@/app/deals/components/desktop/ToolPanelAction/ToolPanelAction";
|
||||
import ViewSelector from "@/app/deals/components/desktop/ViewSelector/ViewSelector";
|
||||
@ -14,7 +14,7 @@ import { useDrawersContext } from "@/drawers/DrawersContext";
|
||||
import useIsMobile from "@/hooks/utils/useIsMobile";
|
||||
|
||||
const TopToolPanel = () => {
|
||||
const { dealsFilters } = useDealsContext();
|
||||
const { dealsFiltersForm, isChangedFilters } = useDealsContext();
|
||||
const { view } = useViewContext();
|
||||
const { projects, setSelectedProjectId, selectedProject, projectsCrud } =
|
||||
useProjectsContext();
|
||||
@ -52,11 +52,16 @@ const TopToolPanel = () => {
|
||||
gap={"sm"}>
|
||||
<DealsTableFiltersModal
|
||||
getOpener={onFiltersClick => (
|
||||
<ToolPanelAction onClick={onFiltersClick}>
|
||||
<IconFilter />
|
||||
</ToolPanelAction>
|
||||
<Indicator
|
||||
disabled={!isChangedFilters}
|
||||
offset={3}
|
||||
size={8}>
|
||||
<ToolPanelAction onClick={onFiltersClick}>
|
||||
<IconFilter />
|
||||
</ToolPanelAction>
|
||||
</Indicator>
|
||||
)}
|
||||
filters={dealsFilters}
|
||||
filtersForm={dealsFiltersForm}
|
||||
selectedProject={selectedProject}
|
||||
boardAndStatusEnabled={view === "table"}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user