diff --git a/resources/ts/back/Components/Filters/EnumFilter.tsx b/resources/ts/back/Components/Filters/EnumFilter.tsx index 77f66b2..ade5c42 100644 --- a/resources/ts/back/Components/Filters/EnumFilter.tsx +++ b/resources/ts/back/Components/Filters/EnumFilter.tsx @@ -8,14 +8,20 @@ import AddFilterToUrl from "@/back/lib/filters"; type Props = { enums: LaravelEnum; fieldName: string; - modelName: string; + modelRoute: string; + prefixRoute: string; label: string; placeholder: string; }; -function EnumFilter(props: Props) { - const { enums, fieldName, modelName, label, placeholder } = props; - +export default function EnumFilter({ + enums, + fieldName, + modelRoute, + prefixRoute, + label, + placeholder, +}: Props) { const selectedEnumParam = Object.values(enums).find( (status) => status.name === route().params.status, ); @@ -35,10 +41,8 @@ function EnumFilter(props: Props) { ...route().params, [name]: selectedStatusName, }; - AddFilterToUrl({ modelName, params }); + AddFilterToUrl({ modelRoute, prefixRoute, params }); }} /> ); } - -export default EnumFilter; diff --git a/resources/ts/back/Components/Filters/MultiSelectRelationFilter.tsx b/resources/ts/back/Components/Filters/MultiSelectRelationFilter.tsx index 0a77b22..648275f 100644 --- a/resources/ts/back/Components/Filters/MultiSelectRelationFilter.tsx +++ b/resources/ts/back/Components/Filters/MultiSelectRelationFilter.tsx @@ -6,16 +6,22 @@ import AddFilterToUrl from "@/back/lib/filters"; type Props = { fieldName: string; - modelName: string; + modelRoute: string; + prefixRoute: string; label: string; placeholder: string; /** Model target to display options */ targetModel?: string; }; -function MultiSelectRelationFilter(props: Props) { - const { targetModel, fieldName, label, placeholder, modelName } = props; - +export default function MultiSelectRelationFilter({ + targetModel, + fieldName, + label, + placeholder, + modelRoute, + prefixRoute, +}: Props) { const valuesFromUrl: string[] = typeof route().params[fieldName] === "string" ? route().params[fieldName].split(",") @@ -37,7 +43,7 @@ function MultiSelectRelationFilter(props: Props) { ...route().params, [name]: valuesArray.length ? valuesArray.join(",") : undefined, }; - AddFilterToUrl({ modelName, params }); + AddFilterToUrl({ modelRoute, prefixRoute, params }); }} defaultValue={valuesFromUrl} responsive={{ @@ -54,5 +60,3 @@ function MultiSelectRelationFilter(props: Props) { /> ); } - -export default MultiSelectRelationFilter; diff --git a/resources/ts/back/Components/Filters/SwitchFilter.tsx b/resources/ts/back/Components/Filters/SwitchFilter.tsx index b1f179b..8967963 100644 --- a/resources/ts/back/Components/Filters/SwitchFilter.tsx +++ b/resources/ts/back/Components/Filters/SwitchFilter.tsx @@ -5,13 +5,13 @@ import SimpleSwitch from "@/back/Components/Inputs/SimpleSwitch"; import AddFilterToUrl from "@/back/lib/filters"; type Props = { - fieldName: string; - modelName: string; label: string; + fieldName: string; + modelRoute: string; + prefixRoute: string; }; -function SwitchFilter(props: Props) { - const { label, fieldName, modelName } = props; +export default function SwitchFilter({ label, fieldName, modelRoute, prefixRoute }: Props) { return ( ); } - -export default SwitchFilter; diff --git a/resources/ts/back/Components/Table/DataTableSearch.tsx b/resources/ts/back/Components/Table/DataTableSearch.tsx index 914c932..168b2f5 100644 --- a/resources/ts/back/Components/Table/DataTableSearch.tsx +++ b/resources/ts/back/Components/Table/DataTableSearch.tsx @@ -11,6 +11,7 @@ import AddFilterToUrl from "@/back/lib/filters"; type DataTableSearchProps = { modelRoute: string; + prefixRoute: string; searchFields: string; isArchiveRoute?: boolean; children?: ReactNode; @@ -18,6 +19,7 @@ type DataTableSearchProps = { export default function DataTableSearch({ modelRoute, + prefixRoute, searchFields, isArchiveRoute = false, children, @@ -34,11 +36,13 @@ export default function DataTableSearch({ search, }; AddFilterToUrl({ - modelName: modelRoute, + modelRoute, + prefixRoute, params, isArchiveRoute, }); }; + const onDeleteSearch = () => { setSearch(null); const params = { @@ -46,11 +50,13 @@ export default function DataTableSearch({ search: undefined, }; AddFilterToUrl({ - modelName: modelRoute, + modelRoute, + prefixRoute, params, isArchiveRoute, }); }; + return ( <>
} diff --git a/resources/ts/back/Pages/InvoiceCompanies/Index.tsx b/resources/ts/back/Pages/InvoiceCompanies/Index.tsx index 34daaa4..83a465b 100644 --- a/resources/ts/back/Pages/InvoiceCompanies/Index.tsx +++ b/resources/ts/back/Pages/InvoiceCompanies/Index.tsx @@ -150,6 +150,7 @@ export default function Index({ {isArchiveRoute && } diff --git a/resources/ts/back/Pages/InvoicePackages/Index.tsx b/resources/ts/back/Pages/InvoicePackages/Index.tsx index c698bf3..30059a4 100644 --- a/resources/ts/back/Pages/InvoicePackages/Index.tsx +++ b/resources/ts/back/Pages/InvoicePackages/Index.tsx @@ -207,6 +207,7 @@ export default function Index({ {isArchiveRoute && } diff --git a/resources/ts/back/Pages/Notices/Index.tsx b/resources/ts/back/Pages/Notices/Index.tsx index 7e8dd4f..39b361e 100644 --- a/resources/ts/back/Pages/Notices/Index.tsx +++ b/resources/ts/back/Pages/Notices/Index.tsx @@ -189,6 +189,7 @@ export default function Index({ {isArchiveRoute && } diff --git a/resources/ts/back/Pages/Sites/Index.tsx b/resources/ts/back/Pages/Sites/Index.tsx index a641113..a09fc83 100644 --- a/resources/ts/back/Pages/Sites/Index.tsx +++ b/resources/ts/back/Pages/Sites/Index.tsx @@ -305,6 +305,7 @@ export default function Index({ {isArchiveRoute && } diff --git a/resources/ts/back/Pages/Users/Index.tsx b/resources/ts/back/Pages/Users/Index.tsx index 4a95494..e4a62e8 100644 --- a/resources/ts/back/Pages/Users/Index.tsx +++ b/resources/ts/back/Pages/Users/Index.tsx @@ -253,6 +253,7 @@ export default function Index({ {isArchiveRoute && } diff --git a/resources/ts/back/lib/filters.tsx b/resources/ts/back/lib/filters.tsx index 641a212..8e5d0a9 100644 --- a/resources/ts/back/lib/filters.tsx +++ b/resources/ts/back/lib/filters.tsx @@ -1,20 +1,22 @@ // * Packages -import { AppEnv } from "@/types/global"; -import { router, usePage } from "@inertiajs/react"; +import { router } from "@inertiajs/react"; import { route } from "ziggy-js"; type RouterFiltersProps = { - modelName: string; + modelRoute: string; + prefixRoute: string; params: { [x: string]: string | boolean | undefined; }; isArchiveRoute?: boolean; }; -export default function AddFilterToUrl(props: RouterFiltersProps) { - const { modelName, params, isArchiveRoute = false } = props; - const routeName = (usePage().props.appEnv as AppEnv).routes.name; - - const targetRoute = `${routeName}${modelName}.${isArchiveRoute ? "trash" : "index"}`; +export default function AddFilterToUrl({ + modelRoute, + prefixRoute, + params, + isArchiveRoute = false, +}: RouterFiltersProps) { + const targetRoute = `${prefixRoute}${modelRoute}.${isArchiveRoute ? "trash" : "index"}`; return router.visit(route(targetRoute), { method: "get",