mirror of
https://github.com/inventree/InvenTree.git
synced 2026-06-11 19:27:02 +00:00
Calendar tweaks (#12115)
* Support initial filters for UseCalendar * [UI] Calendar updates - Allow calendars to display completed / cancelled items also
This commit is contained in:
@@ -47,12 +47,14 @@ export default function OrderCalendar({
|
|||||||
role,
|
role,
|
||||||
params,
|
params,
|
||||||
filters,
|
filters,
|
||||||
|
initialFilters,
|
||||||
tooltip
|
tooltip
|
||||||
}: {
|
}: {
|
||||||
model: ModelType;
|
model: ModelType;
|
||||||
role: UserRoles;
|
role: UserRoles;
|
||||||
params: Record<string, any>;
|
params: Record<string, any>;
|
||||||
filters?: TableFilter[];
|
filters?: TableFilter[];
|
||||||
|
initialFilters?: TableFilter[];
|
||||||
tooltip?: (event: EventContentArg) => React.ReactNode;
|
tooltip?: (event: EventContentArg) => React.ReactNode;
|
||||||
}) {
|
}) {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
@@ -94,7 +96,8 @@ export default function OrderCalendar({
|
|||||||
const calendarState = useCalendar({
|
const calendarState = useCalendar({
|
||||||
endpoint: modelInfo.api_endpoint,
|
endpoint: modelInfo.api_endpoint,
|
||||||
name: model.toString(),
|
name: model.toString(),
|
||||||
queryParams: params
|
queryParams: params,
|
||||||
|
initialFilters: initialFilters
|
||||||
});
|
});
|
||||||
|
|
||||||
// Build the events
|
// Build the events
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import type FullCalendar from '@fullcalendar/react';
|
|||||||
import type { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
import type { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
||||||
import { apiUrl } from '@lib/functions/Api';
|
import { apiUrl } from '@lib/functions/Api';
|
||||||
import useFilterSet from '@lib/hooks/UseFilterSet';
|
import useFilterSet from '@lib/hooks/UseFilterSet';
|
||||||
import type { FilterSetState } from '@lib/types/Filters';
|
import type { FilterSetState, TableFilter } from '@lib/types/Filters';
|
||||||
import type { UseModalReturn } from '@lib/types/Modals';
|
import type { UseModalReturn } from '@lib/types/Modals';
|
||||||
import type { DateValue } from '@mantine/dates';
|
import type { DateValue } from '@mantine/dates';
|
||||||
import { type UseQueryResult, useQuery } from '@tanstack/react-query';
|
import { type UseQueryResult, useQuery } from '@tanstack/react-query';
|
||||||
@@ -54,15 +54,17 @@ export type CalendarState = {
|
|||||||
export default function useCalendar({
|
export default function useCalendar({
|
||||||
name,
|
name,
|
||||||
endpoint,
|
endpoint,
|
||||||
queryParams
|
queryParams,
|
||||||
|
initialFilters
|
||||||
}: {
|
}: {
|
||||||
name: string;
|
name: string;
|
||||||
endpoint: ApiEndpoints;
|
endpoint: ApiEndpoints;
|
||||||
queryParams?: any;
|
queryParams?: any;
|
||||||
|
initialFilters?: TableFilter[];
|
||||||
}): CalendarState {
|
}): CalendarState {
|
||||||
const ref = useRef<FullCalendar>(null as any);
|
const ref = useRef<FullCalendar>(null as any);
|
||||||
|
|
||||||
const filterSet = useFilterSet(`calendar-${name}`);
|
const filterSet = useFilterSet(`calendar-${name}`, initialFilters);
|
||||||
|
|
||||||
const [searchTerm, setSearchTerm] = useState<string>('');
|
const [searchTerm, setSearchTerm] = useState<string>('');
|
||||||
|
|
||||||
|
|||||||
@@ -48,8 +48,9 @@ function BuildOrderCalendar() {
|
|||||||
<OrderCalendar
|
<OrderCalendar
|
||||||
model={ModelType.build}
|
model={ModelType.build}
|
||||||
role={UserRoles.build}
|
role={UserRoles.build}
|
||||||
params={{ outstanding: true, part_detail: true }}
|
params={{ part_detail: true }}
|
||||||
filters={calendarFilters}
|
filters={calendarFilters}
|
||||||
|
initialFilters={[{ name: 'outstanding', value: 'true' }]}
|
||||||
tooltip={renderTooltip}
|
tooltip={renderTooltip}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -51,8 +51,9 @@ function PurchaseOrderCalendar() {
|
|||||||
<OrderCalendar
|
<OrderCalendar
|
||||||
model={ModelType.purchaseorder}
|
model={ModelType.purchaseorder}
|
||||||
role={UserRoles.purchase_order}
|
role={UserRoles.purchase_order}
|
||||||
params={{ outstanding: true, supplier_detail: true }}
|
params={{ supplier_detail: true }}
|
||||||
filters={calendarFilters}
|
filters={calendarFilters}
|
||||||
|
initialFilters={[{ name: 'outstanding', value: 'true' }]}
|
||||||
tooltip={renderTooltip}
|
tooltip={renderTooltip}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -49,8 +49,9 @@ function SalesOrderCalendar() {
|
|||||||
<OrderCalendar
|
<OrderCalendar
|
||||||
model={ModelType.salesorder}
|
model={ModelType.salesorder}
|
||||||
role={UserRoles.sales_order}
|
role={UserRoles.sales_order}
|
||||||
params={{ outstanding: true, customer_detail: true }}
|
params={{ customer_detail: true }}
|
||||||
filters={calendarFilters}
|
filters={calendarFilters}
|
||||||
|
initialFilters={[{ name: 'outstanding', value: 'true' }]}
|
||||||
tooltip={renderTooltip}
|
tooltip={renderTooltip}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
@@ -73,8 +74,9 @@ const ReturnOrderCalendar = () => {
|
|||||||
<OrderCalendar
|
<OrderCalendar
|
||||||
model={ModelType.returnorder}
|
model={ModelType.returnorder}
|
||||||
role={UserRoles.return_order}
|
role={UserRoles.return_order}
|
||||||
params={{ outstanding: true, customer_detail: true }}
|
params={{ customer_detail: true }}
|
||||||
filters={calendarFilters}
|
filters={calendarFilters}
|
||||||
|
initialFilters={[{ name: 'outstanding', value: 'true' }]}
|
||||||
tooltip={renderTooltip}
|
tooltip={renderTooltip}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -70,8 +70,9 @@ function TransferOrderCalendar() {
|
|||||||
<OrderCalendar
|
<OrderCalendar
|
||||||
model={ModelType.transferorder}
|
model={ModelType.transferorder}
|
||||||
role={UserRoles.transfer_order}
|
role={UserRoles.transfer_order}
|
||||||
params={{ outstanding: true }}
|
params={{}}
|
||||||
filters={calendarFilters}
|
filters={calendarFilters}
|
||||||
|
initialFilters={[{ name: 'outstanding', value: 'true' }]}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user