This commit is contained in:
David Arranz 2024-08-26 17:16:42 +02:00
parent f286ea1bdc
commit bcfc517a26
6 changed files with 44 additions and 34 deletions

View File

@ -253,6 +253,8 @@ export const QuotesDataTable = ({
);
}
console.log(data);
if (data?.total_items === 0 && !isFiltered) {
return (
<SimpleEmptyState

View File

@ -1,9 +1,6 @@
import { useDownloader } from "@/lib/hooks";
import { UseListQueryResult, useList, useOne, useSave } from "@/lib/hooks/useDataSource";
import {
IFilterItemDataProviderParam,
IGetListDataProviderParams,
} from "@/lib/hooks/useDataSource/DataSource";
import { IGetListDataProviderParams } from "@/lib/hooks/useDataSource/DataSource";
import { TDataSourceError } from "@/lib/hooks/useDataSource/types";
import { useDataSource } from "@/lib/hooks/useDataSource/useDataSource";
import { useQueryKey } from "@/lib/hooks/useQueryKey";
@ -41,24 +38,6 @@ export type UseQuotesReportParamsType = {
queryOptions?: Record<string, unknown>;
};
const quoteStatusFilter: Record<string, IFilterItemDataProviderParam> = {
draft: {
field: "status",
operator: "eq",
value: "draft",
},
archived: {
field: "status",
operator: "eq",
value: "archived",
},
active: {
field: "status",
operator: "eq",
value: "active",
},
};
export const useQuotes = () => {
const dataSource = useDataSource();
const keys = useQueryKey();
@ -99,7 +78,16 @@ export const useQuotes = () => {
return dataSource.getList({
resource: "quotes",
quickSearchTerm,
filters: status !== "all" ? Array.of(quoteStatusFilter[status]) : undefined,
filters:
status !== "all"
? [
{
field: "status",
operator: "eq",
value: status,
},
]
: undefined,
pagination,
});
},

View File

@ -41,8 +41,17 @@ export const QuotesList = () => {
<TabsTrigger value='draft'>
<Trans i18nKey='quotes.list.tabs.draft' />
</TabsTrigger>
<TabsTrigger value='emitted'>
<Trans i18nKey='quotes.list.tabs.emitted' />
<TabsTrigger value='ready'>
<Trans i18nKey='quotes.list.tabs.ready' />
</TabsTrigger>
<TabsTrigger value='delivered'>
<Trans i18nKey='quotes.list.tabs.delivered' />
</TabsTrigger>
<TabsTrigger value='accepted'>
<Trans i18nKey='quotes.list.tabs.accepted' />
</TabsTrigger>
<TabsTrigger value='rejected'>
<Trans i18nKey='quotes.list.tabs.rejected' />
</TabsTrigger>
<TabsTrigger value='archived' className='hidden sm:flex'>
<Trans i18nKey='quotes.list.tabs.archived' />
@ -76,12 +85,21 @@ export const QuotesList = () => {
<TabsContent value='draft'>
<QuotesDataTable status='draft' preview={enabledPreview} />
</TabsContent>
<TabsContent value='ready'>
<QuotesDataTable status='ready' preview={enabledPreview} />
</TabsContent>
<TabsContent value='delivered'>
<QuotesDataTable status='delivered' preview={enabledPreview} />
</TabsContent>
<TabsContent value='accepted'>
<QuotesDataTable status='accepted' preview={enabledPreview} />
</TabsContent>
<TabsContent value='rejected'>
<QuotesDataTable status='rejected' preview={enabledPreview} />
</TabsContent>
<TabsContent value='archived'>
<QuotesDataTable status='archived' preview={enabledPreview} />
</TabsContent>
<TabsContent value='emitted'>
<QuotesDataTable status='emitted' preview={enabledPreview} />
</TabsContent>
</Tabs>
</DataTableProvider>
);

View File

@ -16,7 +16,7 @@ export interface IDataTableContextState {
setPagination: (newPagination: PaginationState) => void;
sorting: SortingState;
setSorting: Dispatch<SetStateAction<SortingState>>;
globalFilter: string;
globalFilter?: string;
setGlobalFilter: (newGlobalFilter: string) => void;
resetGlobalFilter: () => void;
isFiltered: boolean;
@ -26,7 +26,7 @@ export const DataTableContext = createContext<IDataTableContextState | null>(nul
export const DataTableProvider = ({
syncWithLocation = true,
initialGlobalFilter = "",
initialGlobalFilter = undefined,
initialPageIndex,
initialPageSize,
children,
@ -41,10 +41,10 @@ export const DataTableProvider = ({
initialPageIndex,
initialPageSize,
});
const [globalFilter, setGlobalFilter] = useState<string>(initialGlobalFilter);
const [globalFilter, setGlobalFilter] = useState<string | undefined>(initialGlobalFilter);
const [sorting, setSorting] = useState<SortingState>([]);
const isFiltered = useMemo(() => Boolean(globalFilter.length), [globalFilter]);
const isFiltered = useMemo(() => Boolean(globalFilter && globalFilter.length), [globalFilter]);
const resetGlobalFilter = useCallback(() => setGlobalFilter(""), []);
return (

View File

@ -119,7 +119,8 @@
"tabs": {
"all": "All",
"draft": "Draft",
"emitted": "Emitted",
"ready": "Ready",
"delivered": "Delivered",
"accepted": "Accepted",
"rejected": "Rejected",
"archived": "Archived"

View File

@ -119,7 +119,8 @@
"tabs": {
"all": "Todas",
"draft": "Borradores",
"emitted": "Emitidas",
"ready": "Preparados",
"delivered": "Entregado",
"accepted": "Accepted",
"rejected": "Rejected",
"archived": "Archivadas"