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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/core/cjs/Tables/DataGrid/Toolbar/Filter/FilterMenu.cjs +1 -1
- package/dist/core/cjs/Tables/NextGenDataGrid/NextGenDataGrid.cjs +6 -4
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/ColumnHeaderFilter.cjs +3 -5
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/FilterMenuButton.cjs +35 -71
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/FilterModeDescription.cjs +1 -1
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.cjs +58 -0
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/useColumns.cjs +12 -4
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useToolbar/basicToolbars.cjs +11 -5
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useToolbar/useToolbar.cjs +3 -2
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useToolbarAlertBanner/FASTAPI_RTK_ToolbarAlertBanner.cjs +1 -1
- package/dist/core/cjs/Wrappers/ApiProvider/hooks/useProvideApi.cjs +2 -2
- package/dist/core/cjs/Wrappers/Provider/Provider.cjs +2 -2
- package/dist/core/cjs/Wrappers/Provider/hooks/useProvideAuth.cjs +2 -2
- package/dist/core/cjs/Wrappers/Provider/hooks/useProvideInfo.cjs +1 -1
- package/dist/core/cjs/fab-react-toolkit-patch/api/hooks/useProvideApi.cjs +2 -2
- package/dist/core/cjs/fab-react-toolkit-patch/auth/hooks/useProvideAuth.cjs +2 -2
- package/dist/core/cjs/fab-react-toolkit-patch/auth/hooks/useProvideInfo.cjs +1 -1
- package/dist/core/esm/Tables/DataGrid/Toolbar/Filter/FilterMenu.mjs +1 -1
- package/dist/core/esm/Tables/NextGenDataGrid/NextGenDataGrid.mjs +6 -4
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/ColumnHeaderFilter.mjs +3 -5
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/FilterMenuButton.mjs +39 -75
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/FilterModeDescription.mjs +1 -1
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.mjs +58 -0
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/useColumns.mjs +13 -5
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useToolbar/basicToolbars.mjs +11 -5
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useToolbar/useToolbar.mjs +3 -2
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useToolbarAlertBanner/FASTAPI_RTK_ToolbarAlertBanner.mjs +1 -1
- package/dist/core/esm/Wrappers/ApiProvider/hooks/useProvideApi.mjs +2 -2
- package/dist/core/esm/Wrappers/Provider/Provider.mjs +2 -2
- package/dist/core/esm/Wrappers/Provider/hooks/useProvideAuth.mjs +2 -2
- package/dist/core/esm/Wrappers/Provider/hooks/useProvideInfo.mjs +1 -1
- package/dist/core/esm/fab-react-toolkit-patch/api/hooks/useProvideApi.mjs +2 -2
- package/dist/core/esm/fab-react-toolkit-patch/auth/hooks/useProvideAuth.mjs +2 -2
- package/dist/core/esm/fab-react-toolkit-patch/auth/hooks/useProvideInfo.mjs +1 -1
- package/dist/core/lib/Tables/NextGenDataGrid/NextGenDataGrid.d.ts +4 -4
- package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/ColumnHeaderFilter.d.ts +1 -2
- package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/FilterMenuButton.d.ts +1 -10
- package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.d.ts +4 -0
- package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/useColumns.d.ts +1 -1
- package/dist/core/lib/Tables/NextGenDataGrid/hooks/useToolbar/useToolbar.d.ts +1 -1
- package/dist/core/styles.css +0 -1
- package/package.json +1 -1
- package/dist/core/cjs/Tables/NextGenDataGrid/hooks/useColumns/FilterMenu.cjs +0 -17
- package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/FilterMenu.mjs +0 -17
- package/dist/core/lib/Tables/NextGenDataGrid/hooks/useColumns/FilterMenu.d.ts +0 -9
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
package/dist/core/esm/Tables/NextGenDataGrid/hooks/useColumns/HeaderAdvancedFiltersMenuButton.mjs
ADDED
|
@@ -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
|
-
|
|
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.
|
|
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
|
-
|
|
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:
|
|
12
|
-
download:
|
|
13
|
-
// upload:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
4
|
-
import { QueryClientProvider } from "../../../../.external/esm/@tanstack_react-query@5.
|
|
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.
|
|
2
|
-
import { useQueryClient } from "../../../../../.external/esm/@tanstack_react-query@5.
|
|
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.
|
|
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.
|
|
5
|
-
import { useQuery } from "../../../../../.external/esm/@tanstack_react-query@5.
|
|
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.
|
|
2
|
-
import { useQueryClient } from "../../../../../.external/esm/@tanstack_react-query@5.
|
|
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.
|
|
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,
|
|
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
|
|
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>>;
|
|
@@ -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 }: {
|
package/dist/core/styles.css
CHANGED
package/package.json
CHANGED
|
@@ -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
|
-
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|