fastapi-rtk 0.1.25 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs +12 -10
  2. package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/query.cjs +41 -22
  3. package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/queryClient.cjs +1 -1
  4. package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/queryObserver.cjs +1 -1
  5. package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/utils.cjs +2 -1
  6. package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/errorBoundaryUtils.cjs +1 -1
  7. package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/suspense.cjs +3 -2
  8. package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/useBaseQuery.cjs +3 -3
  9. package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/useQuery.cjs +1 -1
  10. package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/infiniteQueryBehavior.mjs +12 -10
  11. package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/query.mjs +42 -23
  12. package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/queryClient.mjs +1 -1
  13. package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/queryObserver.mjs +1 -1
  14. package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/utils.mjs +2 -1
  15. package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/errorBoundaryUtils.mjs +1 -1
  16. package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/suspense.mjs +3 -2
  17. package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/useBaseQuery.mjs +3 -3
  18. package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/useQuery.mjs +1 -1
  19. package/dist/.external/esm/{mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.7_@mantine_dates@7.17.7_@mantine_hooks@7._dm3meh6s7t7wwl37at3cedg6gm → mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.8_@mantine_dates@7.17.8_@mantine_hooks@7._ll5dfnmvjphm4bajaxt6oy7mty}/mantine-react-table/dist/index.esm.mjs +1 -1
  20. package/dist/core/cjs/Tables/DataGrid/Toolbar/Filter/FilterMenu.cjs +1 -1
  21. package/dist/core/cjs/Tables/NextGenDataGrid/NextGenDataGrid.cjs +6 -4
  22. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/ColumnHeaderFilter.cjs +3 -5
  23. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/FilterMenuButton.cjs +35 -71
  24. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/FilterModeDescription.cjs +1 -1
  25. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.cjs +58 -0
  26. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/useColumns.cjs +12 -4
  27. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useToolbar/basicToolbars.cjs +11 -5
  28. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useToolbar/useToolbar.cjs +3 -2
  29. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useToolbarAlertBanner/FASTAPI_RTK_ToolbarAlertBanner.cjs +1 -1
  30. package/dist/core/cjs/Wrappers/ApiProvider/hooks/useProvideApi.cjs +2 -2
  31. package/dist/core/cjs/Wrappers/Provider/Provider.cjs +2 -2
  32. package/dist/core/cjs/Wrappers/Provider/hooks/useProvideAuth.cjs +2 -2
  33. package/dist/core/cjs/Wrappers/Provider/hooks/useProvideInfo.cjs +1 -1
  34. package/dist/core/cjs/fab-react-toolkit-patch/api/hooks/useProvideApi.cjs +2 -2
  35. package/dist/core/cjs/fab-react-toolkit-patch/auth/hooks/useProvideAuth.cjs +2 -2
  36. package/dist/core/cjs/fab-react-toolkit-patch/auth/hooks/useProvideInfo.cjs +1 -1
  37. package/dist/core/esm/Tables/DataGrid/Toolbar/Filter/FilterMenu.mjs +1 -1
  38. package/dist/core/esm/Tables/NextGenDataGrid/NextGenDataGrid.mjs +6 -4
  39. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/ColumnHeaderFilter.mjs +3 -5
  40. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/FilterMenuButton.mjs +39 -75
  41. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/FilterModeDescription.mjs +1 -1
  42. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.mjs +58 -0
  43. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/useColumns.mjs +13 -5
  44. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useToolbar/basicToolbars.mjs +11 -5
  45. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useToolbar/useToolbar.mjs +3 -2
  46. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useToolbarAlertBanner/FASTAPI_RTK_ToolbarAlertBanner.mjs +1 -1
  47. package/dist/core/esm/Wrappers/ApiProvider/hooks/useProvideApi.mjs +2 -2
  48. package/dist/core/esm/Wrappers/Provider/Provider.mjs +2 -2
  49. package/dist/core/esm/Wrappers/Provider/hooks/useProvideAuth.mjs +2 -2
  50. package/dist/core/esm/Wrappers/Provider/hooks/useProvideInfo.mjs +1 -1
  51. package/dist/core/esm/fab-react-toolkit-patch/api/hooks/useProvideApi.mjs +2 -2
  52. package/dist/core/esm/fab-react-toolkit-patch/auth/hooks/useProvideAuth.mjs +2 -2
  53. package/dist/core/esm/fab-react-toolkit-patch/auth/hooks/useProvideInfo.mjs +1 -1
  54. package/dist/core/lib/Tables/NextGenDataGrid/NextGenDataGrid.d.ts +4 -4
  55. package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/ColumnHeaderFilter.d.ts +1 -2
  56. package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/FilterMenuButton.d.ts +1 -10
  57. package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.d.ts +4 -0
  58. package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/useColumns.d.ts +1 -1
  59. package/dist/core/lib/Tables/NextGenDataGrid/hooks/useToolbar/useToolbar.d.ts +1 -1
  60. package/dist/core/styles.css +0 -1
  61. package/package.json +1 -1
  62. package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/FilterMenu.cjs +0 -17
  63. package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/FilterMenu.mjs +0 -17
  64. package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/FilterMenu.d.ts +0 -9
  65. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/focusManager.cjs +0 -0
  66. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/mutation.cjs +0 -0
  67. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/mutationCache.cjs +0 -0
  68. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/notifyManager.cjs +0 -0
  69. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/onlineManager.cjs +0 -0
  70. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/queryCache.cjs +0 -0
  71. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/removable.cjs +0 -0
  72. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/retryer.cjs +0 -0
  73. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/subscribable.cjs +0 -0
  74. /package/dist/.external/cjs/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/thenable.cjs +0 -0
  75. /package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/IsRestoringProvider.cjs +0 -0
  76. /package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/QueryClientProvider.cjs +0 -0
  77. /package/dist/.external/cjs/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/QueryErrorResetBoundary.cjs +0 -0
  78. /package/dist/.external/cjs/{mantine-form-yup-resolver@2.0.0_@mantine_form@7.17.7_yup@1.6.1 → mantine-form-yup-resolver@2.0.0_@mantine_form@7.17.8_yup@1.6.1}/mantine-form-yup-resolver/dist/esm/index.cjs +0 -0
  79. /package/dist/.external/cjs/{mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.7_@mantine_dates@7.17.7_@mantine_hooks@7._dm3meh6s7t7wwl37at3cedg6gm → mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.8_@mantine_dates@7.17.8_@mantine_hooks@7._ll5dfnmvjphm4bajaxt6oy7mty}/mantine-react-table/dist/index.esm.cjs +0 -0
  80. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/focusManager.mjs +0 -0
  81. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/mutation.mjs +0 -0
  82. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/mutationCache.mjs +0 -0
  83. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/notifyManager.mjs +0 -0
  84. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/onlineManager.mjs +0 -0
  85. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/queryCache.mjs +0 -0
  86. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/removable.mjs +0 -0
  87. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/retryer.mjs +0 -0
  88. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/subscribable.mjs +0 -0
  89. /package/dist/.external/esm/{@tanstack_query-core@5.77.2 → @tanstack_query-core@5.80.2}/@tanstack/query-core/build/modern/thenable.mjs +0 -0
  90. /package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/IsRestoringProvider.mjs +0 -0
  91. /package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/QueryClientProvider.mjs +0 -0
  92. /package/dist/.external/esm/{@tanstack_react-query@5.77.2_react@18.3.1 → @tanstack_react-query@5.80.2_react@18.3.1}/@tanstack/react-query/build/modern/QueryErrorResetBoundary.mjs +0 -0
  93. /package/dist/.external/esm/{mantine-form-yup-resolver@2.0.0_@mantine_form@7.17.7_yup@1.6.1 → mantine-form-yup-resolver@2.0.0_@mantine_form@7.17.8_yup@1.6.1}/mantine-form-yup-resolver/dist/esm/index.mjs +0 -0
@@ -0,0 +1,58 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Center, Tooltip, Badge } from "@mantine/core";
3
+ import { useMemo } from "react";
4
+ import { useApi } from "../../../../hooks/api/useApi.mjs";
5
+ import { useAuth } from "../../../../hooks/auth/useAuth.mjs";
6
+ import { AdvancedFilters } from "./AdvancedFilters.mjs";
7
+ import { FilterMenuButton } from "./FilterMenuButton.mjs";
8
+ const HeaderAdvancedFiltersMenuButton = ({ filters, mrtProps }) => {
9
+ const { table, column } = mrtProps;
10
+ const api = useApi();
11
+ const auth = useAuth();
12
+ const functionProps = useMemo(() => ({ api, auth, mrtProps }), [api, auth, mrtProps]);
13
+ const actionIconProps = useMemo(() => {
14
+ const props = { variant: "subtle", size: "xs" };
15
+ const disabled = !(filters == null ? void 0 : filters.length);
16
+ if (disabled) {
17
+ props.disabled = true;
18
+ props.c = "gray";
19
+ }
20
+ return props;
21
+ }, [filters == null ? void 0 : filters.length]);
22
+ const { queryParams } = useApi();
23
+ const existingFilters = useMemo(
24
+ () => (queryParams == null ? void 0 : queryParams.filters.filter((filter) => filter.id !== column.id && filter.col === column.id).map((filter) => ({ ...filter }))) || [],
25
+ [queryParams, column.id]
26
+ );
27
+ return /* @__PURE__ */ jsx(Center, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(
28
+ Tooltip,
29
+ {
30
+ label: /* @__PURE__ */ jsx(Badge, { size: "xs", circle: true, children: existingFilters.length }),
31
+ position: "top",
32
+ color: "transparent",
33
+ p: 0,
34
+ offset: { mainAxis: -8, crossAxis: 8 },
35
+ opened: true,
36
+ disabled: !existingFilters.length,
37
+ children: /* @__PURE__ */ jsx(
38
+ FilterMenuButton,
39
+ {
40
+ table,
41
+ filters,
42
+ filterIconWrapperProps: {
43
+ label: table.options.localization.advancedFilters ?? "Advanced Filters",
44
+ position: "top",
45
+ withArrow: false,
46
+ openDelay: 1e3
47
+ },
48
+ actionIconProps,
49
+ functionProps,
50
+ children: /* @__PURE__ */ jsx(AdvancedFilters, { col: column.id })
51
+ }
52
+ )
53
+ }
54
+ ) });
55
+ };
56
+ export {
57
+ HeaderAdvancedFiltersMenuButton
58
+ };
@@ -1,5 +1,6 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { getValue, parseFromValuesOrFunc } from "fastapi-rtk/utils";
3
+ import { Flex } from "@mantine/core";
3
4
  import { useMap, useSetState } from "@mantine/hooks";
4
5
  import { useEffect, useMemo } from "react";
5
6
  import { useApi } from "../../../../hooks/api/useApi.mjs";
@@ -7,7 +8,8 @@ import { useAuth } from "../../../../hooks/auth/useAuth.mjs";
7
8
  import { getProps, fromFilterToFilterFn } from "../../utils.mjs";
8
9
  import { Body } from "./Body.mjs";
9
10
  import { ColumnHeaderFilter } from "./ColumnHeaderFilter.mjs";
10
- function useColumns(columnProps, header, body, textFilterSeparator) {
11
+ import { HeaderAdvancedFiltersMenuButton } from "./HeaderAdvancedFiltersMenuButton.mjs";
12
+ function useColumns(columnProps, header, body, textFilterSeparator, enableAdvancedFilters) {
11
13
  const { path, info, data, specialKey } = useApi();
12
14
  const api = useApi();
13
15
  const auth = useAuth();
@@ -25,7 +27,6 @@ function useColumns(columnProps, header, body, textFilterSeparator) {
25
27
  const {
26
28
  component,
27
29
  enableFilterModes,
28
- enableAdvancedFilters,
29
30
  filterComponent,
30
31
  filterProps,
31
32
  filterState,
@@ -45,12 +46,18 @@ function useColumns(columnProps, header, body, textFilterSeparator) {
45
46
  accessorKey: col,
46
47
  accessorFn: (row) => getValue(row, col),
47
48
  header: (_g = data == null ? void 0 : data.label_columns) == null ? void 0 : _g[col],
49
+ Header: enableAdvancedFilters ? (props) => {
50
+ var _a2, _b2;
51
+ return /* @__PURE__ */ jsxs(Flex, { gap: "2px", style: { placeItems: "center" }, children: [
52
+ ((_a2 = getProps(columnProps, specialKey.all, col)) == null ? void 0 : _a2.header) ?? ((_b2 = data == null ? void 0 : data.label_columns) == null ? void 0 : _b2[col]),
53
+ /* @__PURE__ */ jsx(HeaderAdvancedFiltersMenuButton, { filters, mrtProps: props })
54
+ ] });
55
+ } : void 0,
48
56
  filterTooltipValueFn: (value) => idValueMap.get(`${data == null ? void 0 : data.path}-${col}-${value}`) ?? value,
49
- Filter: (props) => /* @__PURE__ */ jsx(
57
+ Filter: (props) => enableAdvancedFilters ? null : /* @__PURE__ */ jsx(
50
58
  ColumnHeaderFilter,
51
59
  {
52
60
  enableFilterModes,
53
- enableAdvancedFilters,
54
61
  filters,
55
62
  filterFn,
56
63
  filterProps,
@@ -83,6 +90,7 @@ function useColumns(columnProps, header, body, textFilterSeparator) {
83
90
  api,
84
91
  auth,
85
92
  idValueMap,
93
+ enableAdvancedFilters,
86
94
  body,
87
95
  textFilterSeparator
88
96
  ]
@@ -1,20 +1,26 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { MRT_ToggleFullScreenButton, MRT_ToggleDensePaddingButton, MRT_ShowHideColumnsButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton } from "../../../../../../.external/esm/mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.7_@mantine_dates@7.17.7_@mantine_hooks@7._dm3meh6s7t7wwl37at3cedg6gm/mantine-react-table/dist/index.esm.mjs";
2
+ import { MRT_ToggleFullScreenButton, MRT_ToggleDensePaddingButton, MRT_ShowHideColumnsButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton } from "../../../../../../.external/esm/mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.8_@mantine_dates@7.17.8_@mantine_hooks@7._ll5dfnmvjphm4bajaxt6oy7mty/mantine-react-table/dist/index.esm.mjs";
3
3
  import { Add } from "../../../../ActionIcons/Add/Add.mjs";
4
4
  import { Download } from "../../../../ActionIcons/Download/Download.mjs";
5
5
  import { Refresh } from "../../../../ActionIcons/Refresh/Refresh.mjs";
6
6
  function getBasicToolbars(table, rules) {
7
- return {
7
+ const toolbars = {
8
8
  toggleGlobalFilter: /* @__PURE__ */ jsx(MRT_ToggleGlobalFilterButton, { table, disabled: false }, "basic-toggleGlobalFilter"),
9
9
  filter: /* @__PURE__ */ jsx(MRT_ToggleFiltersButton, { table }, "basic-filter"),
10
10
  refresh: /* @__PURE__ */ jsx(Refresh, { tooltipProps: { label: table.options.localization.refresh } }, "basic-refresh"),
11
- add: (rules == null ? void 0 : rules.add) && /* @__PURE__ */ jsx(Add, { tooltipProps: { label: table.options.localization.add } }, "basic-add"),
12
- download: (rules == null ? void 0 : rules.download) && /* @__PURE__ */ jsx(Download, { tooltipProps: { label: table.options.localization.download } }, "basic-download"),
13
- // upload: rules?.upload && <Upload key="basic-upload" tooltipProps={{ label: table.options.localization.upload }} />, //! Disabled until further notice
11
+ add: /* @__PURE__ */ jsx(Add, { tooltipProps: { label: table.options.localization.add } }, "basic-add"),
12
+ download: /* @__PURE__ */ jsx(Download, { tooltipProps: { label: table.options.localization.download } }, "basic-download"),
13
+ // upload: <Upload key="basic-upload" tooltipProps={{ label: table.options.localization.upload }} />, //! Disabled until further notice
14
14
  showHideColumns: /* @__PURE__ */ jsx(MRT_ShowHideColumnsButton, { table }, "basic-showHideColumns"),
15
15
  toggleDensePadding: /* @__PURE__ */ jsx(MRT_ToggleDensePaddingButton, { table }, "basic-toggleDensePadding"),
16
16
  toggleFullScreen: /* @__PURE__ */ jsx(MRT_ToggleFullScreenButton, { table }, "basic-toggleFullScreen")
17
17
  };
18
+ Object.entries(rules).forEach(([key, value]) => {
19
+ if (!value) {
20
+ toolbars[key] = null;
21
+ }
22
+ });
23
+ return toolbars;
18
24
  }
19
25
  export {
20
26
  getBasicToolbars
@@ -23,7 +23,7 @@ function renderCustomizedToolbars(customizer, basicToolbarsObj, functionProps, c
23
23
  });
24
24
  return /* @__PURE__ */ jsx(Flex, { gap: "0.125rem", align: "center", children: toolbars });
25
25
  }
26
- function useToolbar(toolbar = {}, quickFilters, hideToolbar) {
26
+ function useToolbar(toolbar = {}, quickFilters, hideToolbar, enableAdvancedFilters) {
27
27
  const { info, queryParams, setQueryParams } = useApi();
28
28
  const api = useApi();
29
29
  const auth = useAuth();
@@ -58,6 +58,7 @@ function useToolbar(toolbar = {}, quickFilters, hideToolbar) {
58
58
  mrtProps: { table }
59
59
  };
60
60
  const rules = {
61
+ filter: !enableAdvancedFilters,
61
62
  add: info == null ? void 0 : info.permissions.includes("can_post"),
62
63
  download: info == null ? void 0 : info.permissions.includes("can_download"),
63
64
  upload: info == null ? void 0 : info.permissions.includes("can_upload")
@@ -65,7 +66,7 @@ function useToolbar(toolbar = {}, quickFilters, hideToolbar) {
65
66
  const basicToolbarsObj = getBasicToolbars(table, rules);
66
67
  return renderCustomizedToolbars(customizer, basicToolbarsObj, functionProps, custom);
67
68
  },
68
- [api, auth, custom, customizer, info == null ? void 0 : info.permissions]
69
+ [api, auth, custom, customizer, enableAdvancedFilters, info == null ? void 0 : info.permissions]
69
70
  );
70
71
  return {
71
72
  renderToolbarInternalActions,
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { parseFromValuesOrFunc, getValueOrDefault } from "fastapi-rtk/utils";
3
3
  import { Flex, Button, Group, Badge, ActionIcon, Stack } from "@mantine/core";
4
4
  import { clsx } from "../../../../../../.external/esm/clsx@2.1.1/clsx/dist/clsx.mjs";
5
- import { getMRT_SelectAllHandler, MRT_SelectCheckbox } from "../../../../../../.external/esm/mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.7_@mantine_dates@7.17.7_@mantine_hooks@7._dm3meh6s7t7wwl37at3cedg6gm/mantine-react-table/dist/index.esm.mjs";
5
+ import { getMRT_SelectAllHandler, MRT_SelectCheckbox } from "../../../../../../.external/esm/mantine-react-table@2.0.0-beta.9_@mantine_core@7.17.8_@mantine_dates@7.17.8_@mantine_hooks@7._ll5dfnmvjphm4bajaxt6oy7mty/mantine-react-table/dist/index.esm.mjs";
6
6
  import { useMemo, Fragment } from "react";
7
7
  import classes from "./FASTAPI_RTK_ToolbarAlertBanner.module.css.mjs";
8
8
  const FASTAPI_RTK_ToolbarAlertBanner = ({ alertBanner, table, ...rest }) => {
@@ -1,7 +1,7 @@
1
1
  import { useState, useRef, useEffect, useMemo, useCallback } from "react";
2
2
  import { getItemId, urlJoin } from "fastapi-rtk/utils";
3
3
  import { useDidUpdate, useSetState } from "@mantine/hooks";
4
- import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
4
+ import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
5
5
  import { createItem } from "../utils/api/createItem.mjs";
6
6
  import { deleteItem } from "../utils/api/deleteItem.mjs";
7
7
  import { downloadItems } from "../utils/api/downloadItems.mjs";
@@ -13,7 +13,7 @@ import { uploadItems } from "../utils/api/uploadItems.mjs";
13
13
  import { convertId } from "../utils/convertId.mjs";
14
14
  import { convertInfo } from "../utils/convertInfo.mjs";
15
15
  import { createQueryParams } from "../utils/createQueryParams.mjs";
16
- import { keepPreviousData } from "../../../../../.external/esm/@tanstack_query-core@5.77.2/@tanstack/query-core/build/modern/utils.mjs";
16
+ import { keepPreviousData } from "../../../../../.external/esm/@tanstack_query-core@5.80.2/@tanstack/query-core/build/modern/utils.mjs";
17
17
  function useProvideApi({
18
18
  path,
19
19
  initialQueryParams,
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useProxy } from "fastapi-rtk/zustand";
3
- import { QueryClient } from "../../../../.external/esm/@tanstack_query-core@5.77.2/@tanstack/query-core/build/modern/queryClient.mjs";
4
- import { QueryClientProvider } from "../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/QueryClientProvider.mjs";
3
+ import { QueryClient } from "../../../../.external/esm/@tanstack_query-core@5.80.2/@tanstack/query-core/build/modern/queryClient.mjs";
4
+ import { QueryClientProvider } from "../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/QueryClientProvider.mjs";
5
5
  import { useState } from "react";
6
6
  import { useFabProvideAuth } from "../../fab-react-toolkit-patch/auth/hooks/useProvideAuth.mjs";
7
7
  import { useFabProvideInfo } from "../../fab-react-toolkit-patch/auth/hooks/useProvideInfo.mjs";
@@ -1,5 +1,5 @@
1
- import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
2
- import { useQueryClient } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/QueryClientProvider.mjs";
1
+ import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
2
+ import { useQueryClient } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/QueryClientProvider.mjs";
3
3
  import { useState, useCallback } from "react";
4
4
  import { authSignin, authSignout, authResetPassword, authOAuthSignin } from "../utils/authFetch.mjs";
5
5
  import { getUser, updateUser } from "../utils/userCRUD.mjs";
@@ -1,4 +1,4 @@
1
- import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
1
+ import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
2
2
  import { useEffect } from "react";
3
3
  import { authInfo } from "../utils/authFetch.mjs";
4
4
  function useProvideInfo(baseUrl, auth) {
@@ -1,8 +1,8 @@
1
1
  import { useState, useRef, useEffect, useMemo, useCallback } from "react";
2
2
  import { getItemId, urlJoin } from "fastapi-rtk/utils";
3
3
  import { useDidUpdate, useSetState } from "@mantine/hooks";
4
- import { keepPreviousData } from "../../../../../.external/esm/@tanstack_query-core@5.77.2/@tanstack/query-core/build/modern/utils.mjs";
5
- import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
4
+ import { keepPreviousData } from "../../../../../.external/esm/@tanstack_query-core@5.80.2/@tanstack/query-core/build/modern/utils.mjs";
5
+ import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
6
6
  import { createItem } from "../utils/api/createItem.mjs";
7
7
  import { deleteItem } from "../utils/api/deleteItem.mjs";
8
8
  import { downloadItems } from "../utils/api/downloadItems.mjs";
@@ -1,5 +1,5 @@
1
- import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
2
- import { useQueryClient } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/QueryClientProvider.mjs";
1
+ import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
2
+ import { useQueryClient } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/QueryClientProvider.mjs";
3
3
  import { useState, useCallback } from "react";
4
4
  import { authSignin, authSignout, authResetPassword, authOAuthSignin } from "../utils/authFetch.mjs";
5
5
  import { getUser, updateUser } from "../utils/userCRUD.mjs";
@@ -1,4 +1,4 @@
1
- import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.77.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
1
+ import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.80.2_react@18.3.1/@tanstack/react-query/build/modern/useQuery.mjs";
2
2
  import { useEffect } from "react";
3
3
  import { authInfo } from "../utils/authFetch.mjs";
4
4
  function useFabProvideInfo(baseUrl, auth) {
@@ -41,10 +41,6 @@ export type NextGenDataGridHeaderProps = {
41
41
  * - Enables the filter menu that can change the filter mode. Located on the right side of the filter
42
42
  */
43
43
  enableFilterModes?: boolean;
44
- /**
45
- * - Enables the advanced filter by showing a segmented control to switch between `Basic` and `Advanced` filters in the filter menu
46
- */
47
- enableAdvancedFilters?: boolean;
48
44
  /**
49
45
  * - Customize the filter component. When `enableFilterModes` is enabled, this will be a key-value pair object where the key is the filter operator and the value is the filter component
50
46
  */
@@ -179,6 +175,10 @@ export type NextGenDataGridProps = {
179
175
  * - Text filter separator for the table. Default is ';'
180
176
  */
181
177
  textFilterSeparator?: string;
178
+ /**
179
+ * - Enables the advanced filters that allow multiple filters per column
180
+ */
181
+ enableAdvancedFilters?: boolean;
182
182
  /**
183
183
  * - Wrapper props for the table
184
184
  * Deprecated props
@@ -1,7 +1,6 @@
1
- export function ColumnHeaderFilter({ children, enableFilterModes, enableAdvancedFilters, filters, filterFn, filterProps, filterState, filterSync, filterMenu, filterModeDescription, updateQueryParams, mrtProps, }: {
1
+ export function ColumnHeaderFilter({ children, enableFilterModes, filters, filterFn, filterProps, filterState, filterSync, filterMenu, filterModeDescription, updateQueryParams, mrtProps, }: {
2
2
  children: any;
3
3
  enableFilterModes: any;
4
- enableAdvancedFilters: any;
5
4
  filters: any;
6
5
  filterFn: any;
7
6
  filterProps: any;
@@ -1,10 +1 @@
1
- export function FilterMenuButton({ table, column, opr, filters, enableAdvancedFilters, filterMenu, actionIconProps, functionProps, }: {
2
- table: any;
3
- column: any;
4
- opr: any;
5
- filters: any;
6
- enableAdvancedFilters: any;
7
- filterMenu: any;
8
- actionIconProps: any;
9
- functionProps: any;
10
- }): import("react").JSX.Element;
1
+ export const FilterMenuButton: import('react').ForwardRefExoticComponent<import('react').RefAttributes<any>>;
@@ -0,0 +1,4 @@
1
+ export function HeaderAdvancedFiltersMenuButton({ filters, mrtProps }: {
2
+ filters: any;
3
+ mrtProps: any;
4
+ }): import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- export function useColumns(columnProps: any, header: any, body: any, textFilterSeparator: any): {
1
+ export function useColumns(columnProps: any, header: any, body: any, textFilterSeparator: any, enableAdvancedFilters: any): {
2
2
  columns: any;
3
3
  manualFiltering: boolean;
4
4
  };
@@ -1,4 +1,4 @@
1
- export function useToolbar(toolbar: {}, quickFilters: any, hideToolbar: any): {
1
+ export function useToolbar(toolbar: {}, quickFilters: any, hideToolbar: any, enableAdvancedFilters: any): {
2
2
  renderTopToolbarCustomActions(): import("react").JSX.Element;
3
3
  positionToolbarAlertBanner: string;
4
4
  renderToolbarInternalActions: ({ table }: {
@@ -1428,7 +1428,6 @@
1428
1428
 
1429
1429
  .mrt-table-head-cell-content {
1430
1430
  display: flex;
1431
- justify-content: space-between;
1432
1431
  align-items: center;
1433
1432
  height: unset;
1434
1433
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fastapi-rtk",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "private": false,
5
5
  "description": "A React component library for FastAPI in combination with FastAPI React Toolkit backend, built with Mantine, JsonForms, and Zustand.",
6
6
  "license": "MIT",
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const core = require("@mantine/core");
5
- const AdvancedFilters = require("./AdvancedFilters.cjs");
6
- const BasicFilters = require("./BasicFilters.cjs");
7
- function FilterMenu({ enableAdvancedFilters, mode, setMode, col, opr, filters, table }) {
8
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9
- enableAdvancedFilters && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10
- /* @__PURE__ */ jsxRuntime.jsx(core.Menu.Item, { component: "div", p: 0, children: /* @__PURE__ */ jsxRuntime.jsx(core.SegmentedControl, { fullWidth: true, size: "sm", data: ["Basic", "Advanced"], value: mode, onChange: setMode }) }),
11
- /* @__PURE__ */ jsxRuntime.jsx(core.Menu.Divider, {})
12
- ] }),
13
- mode === "Basic" && /* @__PURE__ */ jsxRuntime.jsx(BasicFilters.BasicFilters, { filters, col, opr, table }),
14
- mode === "Advanced" && /* @__PURE__ */ jsxRuntime.jsx(AdvancedFilters.AdvancedFilters, { col })
15
- ] });
16
- }
17
- exports.FilterMenu = FilterMenu;
@@ -1,17 +0,0 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { Menu, SegmentedControl } from "@mantine/core";
3
- import { AdvancedFilters } from "./AdvancedFilters.mjs";
4
- import { BasicFilters } from "./BasicFilters.mjs";
5
- function FilterMenu({ enableAdvancedFilters, mode, setMode, col, opr, filters, table }) {
6
- return /* @__PURE__ */ jsxs(Fragment, { children: [
7
- enableAdvancedFilters && /* @__PURE__ */ jsxs(Fragment, { children: [
8
- /* @__PURE__ */ jsx(Menu.Item, { component: "div", p: 0, children: /* @__PURE__ */ jsx(SegmentedControl, { fullWidth: true, size: "sm", data: ["Basic", "Advanced"], value: mode, onChange: setMode }) }),
9
- /* @__PURE__ */ jsx(Menu.Divider, {})
10
- ] }),
11
- mode === "Basic" && /* @__PURE__ */ jsx(BasicFilters, { filters, col, opr, table }),
12
- mode === "Advanced" && /* @__PURE__ */ jsx(AdvancedFilters, { col })
13
- ] });
14
- }
15
- export {
16
- FilterMenu
17
- };
@@ -1,9 +0,0 @@
1
- export function FilterMenu({ enableAdvancedFilters, mode, setMode, col, opr, filters, table }: {
2
- enableAdvancedFilters: any;
3
- mode: any;
4
- setMode: any;
5
- col: any;
6
- opr: any;
7
- filters: any;
8
- table: any;
9
- }): import("react").JSX.Element;