@solidxai/core-ui 0.1.13-beta.4 → 0.1.13-beta.5
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/components/auth/AuthTabs.d.ts.map +1 -1
- package/dist/components/auth/AuthTabs.js +1 -1
- package/dist/components/auth/AuthTabs.js.map +1 -1
- package/dist/components/auth/AuthTabs.tsx +1 -0
- package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.js +2 -2
- package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.tsx +9 -8
- package/dist/components/common/SettingsComponent.d.ts.map +1 -1
- package/dist/components/common/SettingsComponent.js +1 -1
- package/dist/components/common/SettingsComponent.js.map +1 -1
- package/dist/components/common/SettingsComponent.tsx +1 -0
- package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
- package/dist/components/common/SolidFieldTooltip.js +1 -33
- package/dist/components/common/SolidFieldTooltip.js.map +1 -1
- package/dist/components/common/SolidFieldTooltip.tsx +8 -64
- package/dist/components/common/SolidMaterialSymbol.d.ts +1 -1
- package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -1
- package/dist/components/common/SolidMaterialSymbol.js +6 -37
- package/dist/components/common/SolidMaterialSymbol.js.map +1 -1
- package/dist/components/common/SolidMaterialSymbol.tsx +6 -54
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +2 -2
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +2 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +1 -1
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +16 -14
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +69 -40
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +55 -24
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +99 -0
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +76 -5
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +39 -4
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +172 -124
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +73 -84
- package/dist/components/core/common/globalSearchPersistence.d.ts +3 -0
- package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -1
- package/dist/components/core/common/globalSearchPersistence.js +33 -24
- package/dist/components/core/common/globalSearchPersistence.js.map +1 -1
- package/dist/components/core/common/globalSearchPersistence.ts +34 -27
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -2
- package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
- package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -2
- package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
- package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -2
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +1 -1
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +18 -16
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +67 -48
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +51 -11
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js +11 -2
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +35 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +6 -2
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +7 -1
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +15 -11
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +25 -6
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +3 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +3 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -0
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +5 -0
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -0
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +2 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.d.ts.map +1 -1
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +3 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +2 -0
- package/dist/components/core/model/CreateModel.css +10 -0
- package/dist/components/core/model/FieldMetaDataForm.css +10 -0
- package/dist/components/core/model/FieldMetaDataForm.js +8 -8
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +13 -13
- package/dist/components/core/module/ModuleMetadataExplorer.css +23 -0
- package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.tsx +9 -0
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +249 -138
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +220 -92
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +1 -1
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +1 -0
- package/dist/components/layout/AdminHeaderActions.js +6 -13
- package/dist/components/layout/AdminHeaderActions.js.map +1 -1
- package/dist/components/layout/AdminHeaderActions.tsx +11 -11
- package/dist/components/layout/AdminLayout.d.ts.map +1 -1
- package/dist/components/layout/AdminLayout.js +2 -2
- package/dist/components/layout/AdminLayout.js.map +1 -1
- package/dist/components/layout/AdminLayout.tsx +5 -4
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +17 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +21 -2
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.js +35 -3
- package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDatePicker.tsx +84 -0
- package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTooltip.js +55 -2
- package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTooltip.tsx +95 -1
- package/dist/resources/globals.css +109 -1
- package/dist/resources/solid-custom.css +53 -3
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +2 -2
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.tsx +2 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1 -0
- package/dist/types/css-modules.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
1
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
2
2
|
import FilterComponent, { FilterOperator, FilterRule, FilterRuleType } from "../../../components/core/common/FilterComponent";
|
|
3
3
|
import { toTitleCase } from "../../../helpers/helpers";
|
|
4
4
|
import { usePathname } from "../../../hooks/usePathname";
|
|
5
5
|
import { useRouter } from "../../../hooks/useRouter";
|
|
6
6
|
import { useSearchParams } from "../../../hooks/useSearchParams";
|
|
7
|
-
import {
|
|
7
|
+
import {clearFilterObjectFromLocalStorage,getFilterObjectFromLocalStorage,
|
|
8
|
+
} from "./globalSearchPersistence";
|
|
8
9
|
import { createSolidEntityApi } from "../../../redux/api/solidEntityApi";
|
|
9
10
|
import qs from "qs";
|
|
10
11
|
import { SolidSaveCustomFilterForm } from "./SolidSaveCustomFilterForm";
|
|
@@ -540,6 +541,9 @@ const extractChips = (node: any): any[] => {
|
|
|
540
541
|
return [];
|
|
541
542
|
};
|
|
542
543
|
|
|
544
|
+
const areFilterStateValuesEqual = (left: any, right: any) =>
|
|
545
|
+
JSON.stringify(left ?? null) === JSON.stringify(right ?? null);
|
|
546
|
+
|
|
543
547
|
|
|
544
548
|
|
|
545
549
|
type RelationCache = Map<string, { label: string; value: number }>;
|
|
@@ -793,6 +797,56 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
793
797
|
viewData?.data?.solidView?.model?.id,
|
|
794
798
|
user?.id
|
|
795
799
|
])
|
|
800
|
+
// Updates search, custom filter, grouping, aggregation, and UI state from a single shared filter source.
|
|
801
|
+
const syncFilterUiStateFromSharedSource = useCallback(async (queryObject: any | null) => {
|
|
802
|
+
const nextSearchFilter = queryObject?.search_predicate || null;
|
|
803
|
+
const nextSearchChips = nextSearchFilter ? extractChips(nextSearchFilter) : [];
|
|
804
|
+
const nextCustomFilter =
|
|
805
|
+
queryObject?.custom_filter_predicate && Object.keys(queryObject.custom_filter_predicate).length !== 0
|
|
806
|
+
? queryObject.custom_filter_predicate
|
|
807
|
+
: null;
|
|
808
|
+
const nextPredefinedBaseFilter = queryObject?.predefined_search_predicate || null;
|
|
809
|
+
|
|
810
|
+
setSearchFilter((prev: any) => areFilterStateValuesEqual(prev, nextSearchFilter) ? prev : nextSearchFilter);
|
|
811
|
+
setSearchChips((prev) => areFilterStateValuesEqual(prev, nextSearchChips) ? prev : nextSearchChips);
|
|
812
|
+
setCustomFilter((prev: any) => areFilterStateValuesEqual(prev, nextCustomFilter) ? prev : nextCustomFilter);
|
|
813
|
+
setPredefinedSearchBaseFilter((prev: any) => areFilterStateValuesEqual(prev, nextPredefinedBaseFilter) ? prev : nextPredefinedBaseFilter);
|
|
814
|
+
|
|
815
|
+
if (nextCustomFilter && viewData?.data) {
|
|
816
|
+
const rules: FilterRule = transformFiltersToRules(nextCustomFilter);
|
|
817
|
+
const hydratedRules = await hydrateRelationRules([rules], viewData);
|
|
818
|
+
setFilterRules((prev) => areFilterStateValuesEqual(prev, hydratedRules) ? prev : hydratedRules);
|
|
819
|
+
} else {
|
|
820
|
+
setFilterRules((prev) => areFilterStateValuesEqual(prev, initialState) ? prev : initialState);
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
const hasGroupingRules = queryObject?.grouping_rules?.some((rule: any) => rule.fieldName !== null);
|
|
824
|
+
let nextGroupingRules: GroupingRule[] = [{ id: 1, fieldName: null, dateGrouping: null }];
|
|
825
|
+
|
|
826
|
+
if (hasGroupingRules) {
|
|
827
|
+
nextGroupingRules = queryObject.grouping_rules;
|
|
828
|
+
} else {
|
|
829
|
+
const layoutGroupBy = viewData?.data?.solidView?.layout?.attrs?.groupBy;
|
|
830
|
+
if (Array.isArray(layoutGroupBy) && layoutGroupBy.length > 0) {
|
|
831
|
+
nextGroupingRules = layoutGroupBy.map((groupStr: string, index: number) => {
|
|
832
|
+
const [fieldName, dateGrouping] = groupStr.split(":");
|
|
833
|
+
return {
|
|
834
|
+
id: Date.now() + index,
|
|
835
|
+
fieldName: fieldName || null,
|
|
836
|
+
dateGrouping: (dateGrouping as DateGroupingFormat) || null,
|
|
837
|
+
};
|
|
838
|
+
});
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
const nextAggregationRules =
|
|
843
|
+
Array.isArray(queryObject?.aggregation_rules) && queryObject.aggregation_rules.length > 0
|
|
844
|
+
? queryObject.aggregation_rules
|
|
845
|
+
: [{ id: 1, operator: "count", fieldName: "id", locked: true }];
|
|
846
|
+
|
|
847
|
+
setGroupingRules((prev) => areFilterStateValuesEqual(prev, nextGroupingRules) ? prev : nextGroupingRules);
|
|
848
|
+
setAggregationRules((prev) => areFilterStateValuesEqual(prev, nextAggregationRules) ? prev : nextAggregationRules);
|
|
849
|
+
}, [initialState, viewData]);
|
|
796
850
|
|
|
797
851
|
const resetAppliedFilters = ({ preserveGrouping = false }: { preserveGrouping?: boolean } = {}) => {
|
|
798
852
|
setSearchChips([]);
|
|
@@ -811,9 +865,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
811
865
|
setShowOverlay(false);
|
|
812
866
|
setShowChipManager(false);
|
|
813
867
|
setInputValue("");
|
|
814
|
-
|
|
815
|
-
const currentPageUrl = window.location.pathname;
|
|
816
|
-
localStorage.removeItem(currentPageUrl);
|
|
868
|
+
clearFilterObjectFromLocalStorage();
|
|
817
869
|
|
|
818
870
|
if (activeSavedFilter) {
|
|
819
871
|
const params = new URLSearchParams(searchParams.toString());
|
|
@@ -843,10 +895,13 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
843
895
|
}
|
|
844
896
|
}));
|
|
845
897
|
|
|
898
|
+
useEffect(() => {
|
|
899
|
+
if (!viewData?.data?.solidView?.id) return;
|
|
900
|
+
void syncFilterUiStateFromSharedSource(getFilterObjectFromLocalStorage());
|
|
901
|
+
}, [syncFilterUiStateFromSharedSource, viewData?.data?.solidView?.id]);
|
|
902
|
+
|
|
846
903
|
useEffect(() => {
|
|
847
904
|
const fn = async () => {
|
|
848
|
-
let searchChips: any;
|
|
849
|
-
let customChips: any;
|
|
850
905
|
if (savedFiltersLoaded) {
|
|
851
906
|
|
|
852
907
|
if (activeSavedFilter && savedFilters.length === 0) return;
|
|
@@ -868,14 +923,6 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
868
923
|
setCurrentSavedFilterData(null)
|
|
869
924
|
setCurrentSavedFilterQuery(null)
|
|
870
925
|
}
|
|
871
|
-
if (queryObject) {
|
|
872
|
-
if (queryObject) {
|
|
873
|
-
searchChips = queryObject?.search_predicate || null;
|
|
874
|
-
customChips = queryObject?.custom_filter_predicate || null;
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
if (searchChips) {
|
|
878
|
-
setSearchFilter(searchChips);
|
|
879
926
|
// const formattedChips = searchChips?.$and.map((chip: any, key: any) => {
|
|
880
927
|
// const chipKey = Object.keys(chip)[0]; // Get the key, e.g., "displayName"
|
|
881
928
|
// const chipValue = chip[chipKey]?.$containsi; // Get the value of "$containsi"
|
|
@@ -887,61 +934,18 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
887
934
|
// }
|
|
888
935
|
// );
|
|
889
936
|
// setSearchChips(formattedChips);
|
|
890
|
-
|
|
891
|
-
const formattedChips = extractChips(searchChips);
|
|
892
|
-
setSearchChips(formattedChips);
|
|
893
|
-
|
|
894
|
-
}
|
|
895
|
-
if (customChips && Object.keys(customChips).length !== 0) {
|
|
896
|
-
setCustomFilter(customChips);
|
|
897
|
-
const rules: FilterRule = transformFiltersToRules(customChips);
|
|
898
|
-
const hydratedRules = await hydrateRelationRules([rules], viewData);
|
|
899
|
-
setFilterRules(hydratedRules);
|
|
900
|
-
}
|
|
901
|
-
const hasGroupingRules = (queryObject?.grouping_rules?.some((rule: any) => rule.fieldName !== null));
|
|
902
|
-
|
|
903
|
-
if (hasGroupingRules) {
|
|
904
|
-
setGroupingRules(queryObject?.grouping_rules);
|
|
905
|
-
} else {
|
|
906
|
-
// If no grouping rules in localStorage check layout
|
|
907
|
-
const layoutGroupBy = viewData?.data?.solidView?.layout?.attrs?.groupBy;
|
|
908
|
-
|
|
909
|
-
if (Array.isArray(layoutGroupBy) && layoutGroupBy.length > 0) {
|
|
910
|
-
const initialGroupingRules: GroupingRule[] = layoutGroupBy.map((groupStr: string, index: number) => {
|
|
911
|
-
const [fieldName, dateGrouping] = groupStr.split(":");
|
|
912
|
-
return {
|
|
913
|
-
id: Date.now() + index,
|
|
914
|
-
fieldName: fieldName || null,
|
|
915
|
-
dateGrouping: (dateGrouping as DateGroupingFormat) || null
|
|
916
|
-
};
|
|
917
|
-
});
|
|
918
|
-
setGroupingRules(initialGroupingRules);
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
if (queryObject?.aggregation_rules && queryObject?.aggregation_rules !== aggregationRules) {
|
|
923
|
-
setAggregationRules(queryObject?.aggregation_rules);
|
|
924
|
-
}
|
|
925
|
-
|
|
937
|
+
await syncFilterUiStateFromSharedSource(queryObject);
|
|
926
938
|
|
|
927
939
|
setRefreshKey((prev) => prev + 1)
|
|
928
940
|
setHasSearched(true);
|
|
929
941
|
}
|
|
930
942
|
}
|
|
931
943
|
fn()
|
|
932
|
-
}, [viewData?.data?.solidView?.id
|
|
944
|
+
}, [activeSavedFilter, savedFilters, savedFiltersLoaded, syncFilterUiStateFromSharedSource, viewData?.data?.solidView?.id])
|
|
933
945
|
|
|
934
946
|
useEffect(() => {
|
|
935
947
|
const fn = async () => {
|
|
936
|
-
if (filterPredicates) {
|
|
937
|
-
if (filterPredicates?.custom_filter_predicate && filterPredicates?.custom_filter_predicate !== customFilter) {
|
|
938
|
-
setCustomFilter(filterPredicates?.custom_filter_predicate);
|
|
939
|
-
const rules: FilterRule = transformFiltersToRules(filterPredicates.custom_filter_predicate);
|
|
940
|
-
const hydratedRules = await hydrateRelationRules([rules], viewData);
|
|
941
|
-
setFilterRules(hydratedRules);
|
|
942
|
-
}
|
|
943
|
-
if (filterPredicates?.search_predicate && filterPredicates?.search_predicate !== searchFilter) {
|
|
944
|
-
setSearchFilter(filterPredicates?.search_predicate);
|
|
948
|
+
if (filterPredicates !== undefined && filterPredicates !== null) {
|
|
945
949
|
// const formattedChips = filterPredicates.search_predicate?.$and.map((chip: any, key: any) => {
|
|
946
950
|
// const chipKey = Object.keys(chip)[0]; // Get the key, e.g., "displayName"
|
|
947
951
|
// const chipValue = chip[chipKey]?.$containsi; // Get the value of "$containsi"
|
|
@@ -953,27 +957,15 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
953
957
|
// }
|
|
954
958
|
// );
|
|
955
959
|
// setSearchChips(formattedChips);
|
|
956
|
-
|
|
957
|
-
setSearchChips(formattedChips);
|
|
958
|
-
|
|
959
|
-
}
|
|
960
|
+
await syncFilterUiStateFromSharedSource(filterPredicates);
|
|
960
961
|
}
|
|
961
962
|
}
|
|
962
963
|
fn()
|
|
963
|
-
}, [filterPredicates])
|
|
964
|
+
}, [filterPredicates, syncFilterUiStateFromSharedSource])
|
|
964
965
|
|
|
965
966
|
useEffect(() => {
|
|
966
967
|
if (viewData?.data?.solidFieldsMetadata) {
|
|
967
|
-
// Reset search state when switching views
|
|
968
|
-
setSearchChips([]);
|
|
969
|
-
setSearchFilter(null);
|
|
970
|
-
setFilterRules(initialState);
|
|
971
|
-
setCustomFilter(null);
|
|
972
|
-
setPredefinedSearchChip(null);
|
|
973
|
-
setPredefinedSearchBaseFilter(null);
|
|
974
968
|
setInputValue("");
|
|
975
|
-
|
|
976
|
-
|
|
977
969
|
let fieldsData = viewData?.data?.solidFieldsMetadata;
|
|
978
970
|
// console.log(`fiels data while rendering solid global search element: `);
|
|
979
971
|
// console.log(fieldsData);
|
|
@@ -1337,10 +1329,8 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1337
1329
|
setFilterRules(initialState);
|
|
1338
1330
|
setCustomFilter(null)
|
|
1339
1331
|
setPredefinedSearchChip(null);
|
|
1340
|
-
const currentPageUrl = window.location.pathname; // Get the current page URL
|
|
1341
|
-
localStorage.removeItem(currentPageUrl); // Store in local storage with the URL as the key
|
|
1342
|
-
|
|
1343
1332
|
setPredefinedSearchBaseFilter(null);
|
|
1333
|
+
clearFilterObjectFromLocalStorage();
|
|
1344
1334
|
setTimeout(() => {
|
|
1345
1335
|
router.push(buildSavedFilterUrl(formValues.id));
|
|
1346
1336
|
}, 500)
|
|
@@ -1362,9 +1352,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1362
1352
|
setCustomFilter(null)
|
|
1363
1353
|
setPredefinedSearchChip(null);
|
|
1364
1354
|
setPredefinedSearchBaseFilter(null);
|
|
1365
|
-
|
|
1366
|
-
const currentPageUrl = window.location.pathname; // Get the current page URL
|
|
1367
|
-
localStorage.removeItem(currentPageUrl); // Store in local storage with the URL as the key
|
|
1355
|
+
clearFilterObjectFromLocalStorage();
|
|
1368
1356
|
|
|
1369
1357
|
setTimeout(() => {
|
|
1370
1358
|
router.push(buildSavedFilterUrl(result.data.id));
|
|
@@ -1453,8 +1441,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1453
1441
|
setCustomFilter(null)
|
|
1454
1442
|
setPredefinedSearchChip(null);
|
|
1455
1443
|
setPredefinedSearchBaseFilter(null);
|
|
1456
|
-
|
|
1457
|
-
localStorage.removeItem(currentPageUrl); // Store in local storage with the URL as the key
|
|
1444
|
+
clearFilterObjectFromLocalStorage();
|
|
1458
1445
|
// push the savedQuery=1 in url
|
|
1459
1446
|
if (savedfilter?.id) {
|
|
1460
1447
|
router.push(buildSavedFilterUrl(savedfilter.id));
|
|
@@ -1733,7 +1720,9 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1733
1720
|
if (e.key === "Enter") {
|
|
1734
1721
|
if (currentValue || focusedIndex >= 0) {
|
|
1735
1722
|
e.preventDefault();
|
|
1736
|
-
const activeOption = overlayOptions[focusedIndex] || (currentValue
|
|
1723
|
+
const activeOption = overlayOptions[focusedIndex] || (currentValue
|
|
1724
|
+
? overlayOptions.find((option) => option.kind === "field" || option.kind === "predefined")
|
|
1725
|
+
: null);
|
|
1737
1726
|
|
|
1738
1727
|
if (activeOption?.kind === "field") {
|
|
1739
1728
|
applyFieldOption(activeOption.field);
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export declare const hasMeaningfulPersistedFilter: (filterObject: any) => boolean;
|
|
2
2
|
export declare const hasStoredFilterPredicates: (queryObject: any) => boolean;
|
|
3
|
+
export declare const hasStoredSearchUiState: (queryObject: any) => boolean;
|
|
3
4
|
export declare const getFilterObjectFromLocalStorage: () => any;
|
|
4
5
|
export declare const getFilterObjectFromLocalStorageByUrl: (url: string) => any;
|
|
5
6
|
export declare const setFilterObjectToLocalStorage: (queryObject: any) => string | null;
|
|
6
7
|
export declare const setFilterObjectToLocalStorageByUrl: (url: string, queryObject: any) => string | null;
|
|
8
|
+
export declare const clearFilterObjectFromLocalStorage: () => void;
|
|
9
|
+
export declare const clearFilterObjectFromLocalStorageByUrl: (url: string) => void;
|
|
7
10
|
//# sourceMappingURL=globalSearchPersistence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalSearchPersistence.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/globalSearchPersistence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"globalSearchPersistence.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/globalSearchPersistence.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,4BAA4B,iBAAkB,GAAG,KAAG,OAgBhE,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBAAiB,GAAG,KAAG,OAIW,CAAC;AAEzE,eAAO,MAAM,sBAAsB,gBAAiB,GAAG,KAAG,OAGgC,CAAC;AAE3F,eAAO,MAAM,+BAA+B,WAI3C,CAAC;AAEF,eAAO,MAAM,oCAAoC,QAAS,MAAM,QAG/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,gBAAiB,GAAG,kBAQ7D,CAAC;AAEF,eAAO,MAAM,kCAAkC,QAAS,MAAM,eAAe,GAAG,kBAO/E,CAAC;AAEF,eAAO,MAAM,iCAAiC,YAK7C,CAAC;AAEF,eAAO,MAAM,sCAAsC,QAAS,MAAM,SAIjE,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
2
|
+
var decodeStoredFilterObject = function (encodedQueryString) {
|
|
3
|
+
if (!encodedQueryString)
|
|
4
|
+
return null;
|
|
5
|
+
try {
|
|
6
|
+
var decodedQueryString = atob(encodedQueryString);
|
|
7
|
+
return JSON.parse(decodedQueryString);
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
console.error(ERROR_MESSAGES.ERROR_DECODING, error);
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
2
14
|
var hasMeaningfulPersistedFilterValue = function (value) {
|
|
3
15
|
if (value === null || value === undefined)
|
|
4
16
|
return false;
|
|
@@ -38,36 +50,22 @@ export var hasStoredFilterPredicates = function (queryObject) {
|
|
|
38
50
|
hasMeaningfulPersistedFilter(queryObject === null || queryObject === void 0 ? void 0 : queryObject.saved_filter_predicate) ||
|
|
39
51
|
hasMeaningfulPersistedFilter(queryObject === null || queryObject === void 0 ? void 0 : queryObject.predefined_search_predicate);
|
|
40
52
|
};
|
|
53
|
+
export var hasStoredSearchUiState = function (queryObject) {
|
|
54
|
+
var _a, _b, _c, _d;
|
|
55
|
+
return hasStoredFilterPredicates(queryObject) ||
|
|
56
|
+
Boolean((_b = (_a = queryObject === null || queryObject === void 0 ? void 0 : queryObject.grouping_rules) === null || _a === void 0 ? void 0 : _a.some) === null || _b === void 0 ? void 0 : _b.call(_a, function (rule) { return (rule === null || rule === void 0 ? void 0 : rule.fieldName) !== null; })) ||
|
|
57
|
+
Boolean((_d = (_c = queryObject === null || queryObject === void 0 ? void 0 : queryObject.aggregation_rules) === null || _c === void 0 ? void 0 : _c.some) === null || _d === void 0 ? void 0 : _d.call(_c, function (rule) { return Boolean(rule === null || rule === void 0 ? void 0 : rule.fieldName); }));
|
|
58
|
+
};
|
|
41
59
|
export var getFilterObjectFromLocalStorage = function () {
|
|
42
|
-
if (typeof window === "undefined")
|
|
43
|
-
return null;
|
|
44
60
|
var currentPageUrl = window.location.pathname;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var decodedQueryString = atob(encodedQueryString);
|
|
49
|
-
return JSON.parse(decodedQueryString);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error(ERROR_MESSAGES.ERROR_DECODING, error);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return null;
|
|
61
|
+
if (!currentPageUrl || typeof window === "undefined")
|
|
62
|
+
return null;
|
|
63
|
+
return decodeStoredFilterObject(localStorage.getItem(currentPageUrl));
|
|
56
64
|
};
|
|
57
65
|
export var getFilterObjectFromLocalStorageByUrl = function (url) {
|
|
58
66
|
if (typeof window === "undefined")
|
|
59
67
|
return null;
|
|
60
|
-
|
|
61
|
-
if (encodedQueryString) {
|
|
62
|
-
try {
|
|
63
|
-
var decodedQueryString = atob(encodedQueryString);
|
|
64
|
-
return JSON.parse(decodedQueryString);
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
console.error(ERROR_MESSAGES.ERROR_DECODING, error);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
68
|
+
return decodeStoredFilterObject(localStorage.getItem(url));
|
|
71
69
|
};
|
|
72
70
|
export var setFilterObjectToLocalStorage = function (queryObject) {
|
|
73
71
|
if (typeof window === "undefined" || !queryObject)
|
|
@@ -86,4 +84,15 @@ export var setFilterObjectToLocalStorageByUrl = function (url, queryObject) {
|
|
|
86
84
|
localStorage.setItem(url, encodedQueryString);
|
|
87
85
|
return encodedQueryString;
|
|
88
86
|
};
|
|
87
|
+
export var clearFilterObjectFromLocalStorage = function () {
|
|
88
|
+
var currentPageUrl = window.location.pathname;
|
|
89
|
+
if (!currentPageUrl || typeof window === "undefined")
|
|
90
|
+
return;
|
|
91
|
+
localStorage.removeItem(currentPageUrl);
|
|
92
|
+
};
|
|
93
|
+
export var clearFilterObjectFromLocalStorageByUrl = function (url) {
|
|
94
|
+
if (typeof window === "undefined")
|
|
95
|
+
return;
|
|
96
|
+
localStorage.removeItem(url);
|
|
97
|
+
};
|
|
89
98
|
//# sourceMappingURL=globalSearchPersistence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalSearchPersistence.js","sourceRoot":"","sources":["../../../../src/components/core/common/globalSearchPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,IAAM,iCAAiC,GAAG,UAAC,KAAU;IACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,iCAAiC,CAAC,IAAI,CAAC,EAAvC,CAAuC,CAAC,CAAC;IAC/F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,4BAA4B,GAAG,UAAC,YAAiB;IAC5D,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEpE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC/B,OAAO,YAAY,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,4BAA4B,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC,EAA7E,CAA6E,CAAC,CAAC;KACnH;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QACnD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,4BAA4B,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC,EAA7E,CAA6E,CAAC,CAAC;SAC5G;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,yBAAyB,GAAG,UAAC,WAAgB;IACxD,OAAA,4BAA4B,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,CAAC;QAClE,4BAA4B,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,CAAC;QAC3D,4BAA4B,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,sBAAsB,CAAC;QACjE,4BAA4B,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,2BAA2B,CAAC;AAHtE,CAGsE,CAAC;AAEzE,MAAM,CAAC,IAAM
|
|
1
|
+
{"version":3,"file":"globalSearchPersistence.js","sourceRoot":"","sources":["../../../../src/components/core/common/globalSearchPersistence.ts"],"names":[],"mappings":"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","sourcesContent":["import { ERROR_MESSAGES } from \"../../../constants/error-messages\";\n\nconst decodeStoredFilterObject = (encodedQueryString: string | null) => {\n if (!encodedQueryString) return null;\n\n try {\n const decodedQueryString = atob(encodedQueryString);\n return JSON.parse(decodedQueryString);\n } catch (error) {\n console.error(ERROR_MESSAGES.ERROR_DECODING, error);\n return null;\n }\n};\n\n\nconst hasMeaningfulPersistedFilterValue = (value: any): boolean => {\n if (value === null || value === undefined) return false;\n if (typeof value === \"string\") return value.trim().length > 0;\n if (typeof value === \"number\" || typeof value === \"boolean\") return true;\n if (Array.isArray(value)) return value.some((item) => hasMeaningfulPersistedFilterValue(item));\n if (typeof value === \"object\") return hasMeaningfulPersistedFilter(value);\n return false;\n};\n\nexport const hasMeaningfulPersistedFilter = (filterObject: any): boolean => {\n if (!filterObject || typeof filterObject !== \"object\") return false;\n\n if (Array.isArray(filterObject)) {\n return filterObject.some((item) => hasMeaningfulPersistedFilter(item) || hasMeaningfulPersistedFilterValue(item));\n }\n\n return Object.entries(filterObject).some(([key, value]) => {\n if (key === \"matchMode\" || key === \"operator\") return false;\n if (key === \"value\") return hasMeaningfulPersistedFilterValue(value);\n if ((key === \"$and\" || key === \"$or\") && Array.isArray(value)) {\n return value.some((item) => hasMeaningfulPersistedFilter(item) || hasMeaningfulPersistedFilterValue(item));\n }\n if (typeof value === \"object\") return hasMeaningfulPersistedFilter(value);\n return hasMeaningfulPersistedFilterValue(value);\n });\n};\n\nexport const hasStoredFilterPredicates = (queryObject: any): boolean =>\n hasMeaningfulPersistedFilter(queryObject?.custom_filter_predicate) ||\n hasMeaningfulPersistedFilter(queryObject?.search_predicate) ||\n hasMeaningfulPersistedFilter(queryObject?.saved_filter_predicate) ||\n hasMeaningfulPersistedFilter(queryObject?.predefined_search_predicate);\n\nexport const hasStoredSearchUiState = (queryObject: any): boolean =>\n hasStoredFilterPredicates(queryObject) ||\n Boolean(queryObject?.grouping_rules?.some?.((rule: any) => rule?.fieldName !== null)) ||\n Boolean(queryObject?.aggregation_rules?.some?.((rule: any) => Boolean(rule?.fieldName)));\n\nexport const getFilterObjectFromLocalStorage = () => {\n const currentPageUrl = window.location.pathname;\n if (!currentPageUrl || typeof window === \"undefined\") return null;\n return decodeStoredFilterObject(localStorage.getItem(currentPageUrl));\n};\n\nexport const getFilterObjectFromLocalStorageByUrl = (url: string) => {\n if (typeof window === \"undefined\") return null;\n return decodeStoredFilterObject(localStorage.getItem(url));\n};\n\nexport const setFilterObjectToLocalStorage = (queryObject: any) => {\n if (typeof window === \"undefined\" || !queryObject) return null;\n\n const stringifiedObject = JSON.stringify(queryObject);\n const encodedQueryString = btoa(stringifiedObject);\n const currentPageUrl = window.location.pathname;\n localStorage.setItem(currentPageUrl, encodedQueryString);\n return encodedQueryString;\n};\n\nexport const setFilterObjectToLocalStorageByUrl = (url: string, queryObject: any) => {\n if (typeof window === \"undefined\" || !queryObject) return null;\n\n const stringifiedObject = JSON.stringify(queryObject);\n const encodedQueryString = btoa(stringifiedObject);\n localStorage.setItem(url, encodedQueryString);\n return encodedQueryString;\n};\n\nexport const clearFilterObjectFromLocalStorage = () => {\n const currentPageUrl = window.location.pathname;\n if (!currentPageUrl || typeof window === \"undefined\") return;\n\n localStorage.removeItem(currentPageUrl);\n};\n\nexport const clearFilterObjectFromLocalStorageByUrl = (url: string) => {\n if (typeof window === \"undefined\") return;\n\n localStorage.removeItem(url);\n};\n"]}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
2
2
|
|
|
3
|
+
const decodeStoredFilterObject = (encodedQueryString: string | null) => {
|
|
4
|
+
if (!encodedQueryString) return null;
|
|
5
|
+
|
|
6
|
+
try {
|
|
7
|
+
const decodedQueryString = atob(encodedQueryString);
|
|
8
|
+
return JSON.parse(decodedQueryString);
|
|
9
|
+
} catch (error) {
|
|
10
|
+
console.error(ERROR_MESSAGES.ERROR_DECODING, error);
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
|
|
3
16
|
const hasMeaningfulPersistedFilterValue = (value: any): boolean => {
|
|
4
17
|
if (value === null || value === undefined) return false;
|
|
5
18
|
if (typeof value === "string") return value.trim().length > 0;
|
|
@@ -33,39 +46,20 @@ export const hasStoredFilterPredicates = (queryObject: any): boolean =>
|
|
|
33
46
|
hasMeaningfulPersistedFilter(queryObject?.saved_filter_predicate) ||
|
|
34
47
|
hasMeaningfulPersistedFilter(queryObject?.predefined_search_predicate);
|
|
35
48
|
|
|
36
|
-
export const
|
|
37
|
-
|
|
49
|
+
export const hasStoredSearchUiState = (queryObject: any): boolean =>
|
|
50
|
+
hasStoredFilterPredicates(queryObject) ||
|
|
51
|
+
Boolean(queryObject?.grouping_rules?.some?.((rule: any) => rule?.fieldName !== null)) ||
|
|
52
|
+
Boolean(queryObject?.aggregation_rules?.some?.((rule: any) => Boolean(rule?.fieldName)));
|
|
38
53
|
|
|
54
|
+
export const getFilterObjectFromLocalStorage = () => {
|
|
39
55
|
const currentPageUrl = window.location.pathname;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (encodedQueryString) {
|
|
43
|
-
try {
|
|
44
|
-
const decodedQueryString = atob(encodedQueryString);
|
|
45
|
-
return JSON.parse(decodedQueryString);
|
|
46
|
-
} catch (error) {
|
|
47
|
-
console.error(ERROR_MESSAGES.ERROR_DECODING, error);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return null;
|
|
56
|
+
if (!currentPageUrl || typeof window === "undefined") return null;
|
|
57
|
+
return decodeStoredFilterObject(localStorage.getItem(currentPageUrl));
|
|
52
58
|
};
|
|
53
59
|
|
|
54
60
|
export const getFilterObjectFromLocalStorageByUrl = (url: string) => {
|
|
55
61
|
if (typeof window === "undefined") return null;
|
|
56
|
-
|
|
57
|
-
const encodedQueryString = localStorage.getItem(url);
|
|
58
|
-
|
|
59
|
-
if (encodedQueryString) {
|
|
60
|
-
try {
|
|
61
|
-
const decodedQueryString = atob(encodedQueryString);
|
|
62
|
-
return JSON.parse(decodedQueryString);
|
|
63
|
-
} catch (error) {
|
|
64
|
-
console.error(ERROR_MESSAGES.ERROR_DECODING, error);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return null;
|
|
62
|
+
return decodeStoredFilterObject(localStorage.getItem(url));
|
|
69
63
|
};
|
|
70
64
|
|
|
71
65
|
export const setFilterObjectToLocalStorage = (queryObject: any) => {
|
|
@@ -86,3 +80,16 @@ export const setFilterObjectToLocalStorageByUrl = (url: string, queryObject: any
|
|
|
86
80
|
localStorage.setItem(url, encodedQueryString);
|
|
87
81
|
return encodedQueryString;
|
|
88
82
|
};
|
|
83
|
+
|
|
84
|
+
export const clearFilterObjectFromLocalStorage = () => {
|
|
85
|
+
const currentPageUrl = window.location.pathname;
|
|
86
|
+
if (!currentPageUrl || typeof window === "undefined") return;
|
|
87
|
+
|
|
88
|
+
localStorage.removeItem(currentPageUrl);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export const clearFilterObjectFromLocalStorageByUrl = (url: string) => {
|
|
92
|
+
if (typeof window === "undefined") return;
|
|
93
|
+
|
|
94
|
+
localStorage.removeItem(url);
|
|
95
|
+
};
|
|
@@ -13,8 +13,8 @@ var SolidMediaMultipleField = function (_a) {
|
|
|
13
13
|
var filterMatchModeOptions = [
|
|
14
14
|
{ label: 'Starts With', value: "$startsWithi" },
|
|
15
15
|
{ label: 'Contains', value: "$containsi" },
|
|
16
|
-
{ label: 'Not Contains', value: "$
|
|
17
|
-
{ label: 'Ends With', value: "$
|
|
16
|
+
{ label: 'Not Contains', value: "$notContainsi" },
|
|
17
|
+
{ label: 'Ends With', value: "$endsWithi" },
|
|
18
18
|
{ label: 'Equals', value: "$eqi" },
|
|
19
19
|
{ label: 'Not Equals', value: "$nei" },
|
|
20
20
|
{ label: 'Is null', value: "$null" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaMultipleField.js","sourceRoot":"","sources":["../../../../../src/components/core/filter/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAEzF,IAAM,uBAAuB,GAAG,UAAC,EAAiE;QAA/D,aAAa,mBAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IACnE,8CAA8C;IAC9C,IAAM,UAAU,GAAG,KAAK,CAAC;IACzB,oCAAoC;IACpC,oCAAoC;IACpC,kEAAkE;IAClE,IAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAM,sBAAsB,GAAG;QAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SolidMediaMultipleField.js","sourceRoot":"","sources":["../../../../../src/components/core/filter/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAEzF,IAAM,uBAAuB,GAAG,UAAC,EAAiE;QAA/D,aAAa,mBAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IACnE,8CAA8C;IAC9C,IAAM,UAAU,GAAG,KAAK,CAAC;IACzB,oCAAoC;IACpC,oCAAoC;IACpC,kEAAkE;IAClE,IAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAM,sBAAsB,GAAG;QAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;QACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE;QAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;QACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;KAE9C,CAAC;IACF,IAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO,CACH,eAAK,SAAS,EAAC,sDAAsD,aACjE,cAAK,SAAS,EAAC,0CAA0C,YACrD,KAAC,WAAW,IACR,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,UAAC,CAAM;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;oBAC3C,CAAC,EACD,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,iBAAiB,EAC7B,SAAS,EAAC,wBAAwB,GACpC,GACA,EAEN,cAAK,SAAS,EAAC,8DAA8D,YACzE,KAAC,2BAA2B,IACxB,MAAM,EAAE,IAAI,CAAC,KAAK,EAClB,QAAQ,EAAE,UAAC,CAAM;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBACjC,CAAC,EACD,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,aAAa,EAAE,aAAa,GAEF,GAC5B,IACJ,CACT,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC","sourcesContent":["\nimport { SolidSelect } from \"../../../shad-cn-ui/SolidSelect\";\nimport { getNumberOfInputs, SolidFilterFieldsParams } from '../SolidFilterFields';\nimport { InputTypes, SolidVarInputsFilterElement } from '../SolidVarInputsFilterElement';\n\nconst SolidMediaMultipleField = ({ fieldMetadata, onChange, index, rule }: SolidFilterFieldsParams) => {\n // const filterable = column.attrs.filterable;\n const filterable = false;\n // const showFilterOperator = false;\n // const columnDataType = undefined;\n // const header = column.attrs.label ?? fieldMetadata.displayName;\n const columnDataType = 'text';\n const filterMatchModeOptions = [\n { label: 'Starts With', value: \"$startsWithi\" },\n { label: 'Contains', value: \"$containsi\" },\n { label: 'Not Contains', value: \"$notContainsi\" },\n { label: 'Ends With', value: \"$endsWithi\" },\n { label: 'Equals', value: \"$eqi\" },\n { label: 'Not Equals', value: \"$nei\" },\n { label: 'Is null', value: \"$null\" },\n { label: 'Is Not null', value: \"$notNull\" }\n\n ];\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n return (\n <div className='flex flex-col items-start gap-2 md:flex-row md:gap-1'>\n <div className=\"w-full p-0 px-0 md:w-1/2 md:pl-0 md:pr-0\">\n <SolidSelect\n value={rule.matchMode}\n native={false}\n onChange={(e: any) => {\n onChange(rule.id, 'matchMode', e.value)\n }}\n options={filterMatchModeOptions}\n optionLabel='label'\n optionValue='value'\n placeholder=\"Select Operator\"\n className=\"p-inputtext-sm w-full \"\n />\n </div>\n\n <div className='flex flex-col gap-2 w-full md:w-1/2 px-0 md:pl-0 md:pr-0 p-0'>\n <SolidVarInputsFilterElement\n values={rule.value}\n onChange={(e: any) => {\n onChange(rule.id, 'value', e)\n }}\n numberOfInputs={numberOfInputs}\n inputType={InputTypes.Text}\n fieldMetadata={fieldMetadata}\n >\n </SolidVarInputsFilterElement>\n </div>\n </div>\n );\n\n};\n\nexport default SolidMediaMultipleField;\n"]}
|
|
@@ -13,8 +13,8 @@ const SolidMediaMultipleField = ({ fieldMetadata, onChange, index, rule }: Solid
|
|
|
13
13
|
const filterMatchModeOptions = [
|
|
14
14
|
{ label: 'Starts With', value: "$startsWithi" },
|
|
15
15
|
{ label: 'Contains', value: "$containsi" },
|
|
16
|
-
{ label: 'Not Contains', value: "$
|
|
17
|
-
{ label: 'Ends With', value: "$
|
|
16
|
+
{ label: 'Not Contains', value: "$notContainsi" },
|
|
17
|
+
{ label: 'Ends With', value: "$endsWithi" },
|
|
18
18
|
{ label: 'Equals', value: "$eqi" },
|
|
19
19
|
{ label: 'Not Equals', value: "$nei" },
|
|
20
20
|
{ label: 'Is null', value: "$null" },
|
|
@@ -12,8 +12,8 @@ var SolidMediaSingleField = function (_a) {
|
|
|
12
12
|
var filterMatchModeOptions = [
|
|
13
13
|
{ label: 'Starts With', value: "$startsWithi" },
|
|
14
14
|
{ label: 'Contains', value: "$containsi" },
|
|
15
|
-
{ label: 'Not Contains', value: "$
|
|
16
|
-
{ label: 'Ends With', value: "$
|
|
15
|
+
{ label: 'Not Contains', value: "$notContainsi" },
|
|
16
|
+
{ label: 'Ends With', value: "$endsWithi" },
|
|
17
17
|
{ label: 'Equals', value: "$eqi" },
|
|
18
18
|
{ label: 'Not Equals', value: "$nei" },
|
|
19
19
|
{ label: 'Is null', value: "$null" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaSingleField.js","sourceRoot":"","sources":["../../../../../src/components/core/filter/fields/SolidMediaSingleField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAEzF,IAAM,qBAAqB,GAAG,UAAC,EAAiE;QAA/D,aAAa,mBAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IACjE,8CAA8C;IAC9C,IAAM,UAAU,GAAG,KAAK,CAAC;IACzB,oCAAoC;IACpC,oCAAoC;IACpC,IAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAM,sBAAsB,GAAG;QAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SolidMediaSingleField.js","sourceRoot":"","sources":["../../../../../src/components/core/filter/fields/SolidMediaSingleField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAEzF,IAAM,qBAAqB,GAAG,UAAC,EAAiE;QAA/D,aAAa,mBAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IACjE,8CAA8C;IAC9C,IAAM,UAAU,GAAG,KAAK,CAAC;IACzB,oCAAoC;IACpC,oCAAoC;IACpC,IAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAM,sBAAsB,GAAG;QAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;QACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE;QAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;QACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;KAE9C,CAAC;IACF,IAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,kEAAkE;IAElE,OAAO,CACH,eAAK,SAAS,EAAC,sDAAsD,aACjE,cAAK,SAAS,EAAC,0CAA0C,YACrD,KAAC,WAAW,IACR,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,UAAC,CAAM;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;oBAC3C,CAAC,EACD,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,iBAAiB,EAC7B,SAAS,EAAC,wBAAwB,GACpC,GACA,EAEN,cAAK,SAAS,EAAC,8DAA8D,YACzE,KAAC,2BAA2B,IACxB,MAAM,EAAE,IAAI,CAAC,KAAK,EAClB,QAAQ,EAAE,UAAC,CAAM;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBACjC,CAAC,EACD,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,aAAa,EAAE,aAAa,GAEF,GAC5B,IACJ,CACT,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC","sourcesContent":["\nimport { SolidSelect } from \"../../../shad-cn-ui/SolidSelect\";\nimport { getNumberOfInputs, SolidFilterFieldsParams } from '../SolidFilterFields';\nimport { InputTypes, SolidVarInputsFilterElement } from '../SolidVarInputsFilterElement';\n\nconst SolidMediaSingleField = ({ fieldMetadata, onChange, index, rule }: SolidFilterFieldsParams) => {\n // const filterable = column.attrs.filterable;\n const filterable = false;\n // const showFilterOperator = false;\n // const columnDataType = undefined;\n const columnDataType = 'text';\n const filterMatchModeOptions = [\n { label: 'Starts With', value: \"$startsWithi\" },\n { label: 'Contains', value: \"$containsi\" },\n { label: 'Not Contains', value: \"$notContainsi\" },\n { label: 'Ends With', value: \"$endsWithi\" },\n { label: 'Equals', value: \"$eqi\" },\n { label: 'Not Equals', value: \"$nei\" },\n { label: 'Is null', value: \"$null\" },\n { label: 'Is Not null', value: \"$notNull\" }\n\n ];\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n\n // const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <div className='flex flex-col items-start gap-2 md:flex-row md:gap-1'>\n <div className=\"w-full p-0 px-0 md:w-1/2 md:pl-0 md:pr-0\">\n <SolidSelect\n value={rule.matchMode}\n native={false}\n onChange={(e: any) => {\n onChange(rule.id, 'matchMode', e.value)\n }}\n options={filterMatchModeOptions}\n optionLabel='label'\n optionValue='value'\n placeholder=\"Select Operator\"\n className=\"p-inputtext-sm w-full \"\n />\n </div>\n\n <div className='flex flex-col gap-2 w-full md:w-1/2 px-0 md:pl-0 md:pr-0 p-0'>\n <SolidVarInputsFilterElement\n values={rule.value}\n onChange={(e: any) => {\n onChange(rule.id, 'value', e)\n }}\n numberOfInputs={numberOfInputs}\n inputType={InputTypes.Text}\n fieldMetadata={fieldMetadata}\n >\n </SolidVarInputsFilterElement>\n </div>\n </div>\n );\n\n};\n\nexport default SolidMediaSingleField;\n"]}
|
|
@@ -12,8 +12,8 @@ const SolidMediaSingleField = ({ fieldMetadata, onChange, index, rule }: SolidFi
|
|
|
12
12
|
const filterMatchModeOptions = [
|
|
13
13
|
{ label: 'Starts With', value: "$startsWithi" },
|
|
14
14
|
{ label: 'Contains', value: "$containsi" },
|
|
15
|
-
{ label: 'Not Contains', value: "$
|
|
16
|
-
{ label: 'Ends With', value: "$
|
|
15
|
+
{ label: 'Not Contains', value: "$notContainsi" },
|
|
16
|
+
{ label: 'Ends With', value: "$endsWithi" },
|
|
17
17
|
{ label: 'Equals', value: "$eqi" },
|
|
18
18
|
{ label: 'Not Equals', value: "$nei" },
|
|
19
19
|
{ label: 'Is null', value: "$null" },
|
|
@@ -10,8 +10,8 @@ var SolidShortTextField = function (_a) {
|
|
|
10
10
|
var filterMatchModeOptions = [
|
|
11
11
|
{ label: 'Starts With', value: "$startsWithi" },
|
|
12
12
|
{ label: 'Contains', value: "$containsi" },
|
|
13
|
-
{ label: 'Not Contains', value: "$
|
|
14
|
-
{ label: 'Ends With', value: "$
|
|
13
|
+
{ label: 'Not Contains', value: "$notContainsi" },
|
|
14
|
+
{ label: 'Ends With', value: "$endsWithi" },
|
|
15
15
|
{ label: 'Equals', value: "$eqi" },
|
|
16
16
|
{ label: 'Not Equals', value: "$nei" },
|
|
17
17
|
{ label: 'Is null', value: "$null" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidShortTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/filter/fields/SolidShortTextField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAEzF,IAAM,mBAAmB,GAAG,UAAC,EAAiE;QAA/D,aAAa,mBAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IAC/D,8CAA8C;IAC9C,IAAM,kBAAkB,GAAG,KAAK,CAAC;IACjC,IAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAM,sBAAsB,GAAG;QAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SolidShortTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/filter/fields/SolidShortTextField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAEzF,IAAM,mBAAmB,GAAG,UAAC,EAAiE;QAA/D,aAAa,mBAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IAC/D,8CAA8C;IAC9C,IAAM,kBAAkB,GAAG,KAAK,CAAC;IACjC,IAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAM,sBAAsB,GAAG;QAC3B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QAC1C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;QACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE;QAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;QACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;KAE9C,CAAC;IAEF,kEAAkE;IAClE,IAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzD,OAAO,CACH,eAAK,SAAS,EAAC,sDAAsD,aACjE,cAAK,SAAS,EAAC,0CAA0C,YACrD,KAAC,WAAW,IACR,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,UAAC,CAAM;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;oBAC3C,CAAC,EACD,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,iBAAiB,EAC7B,SAAS,EAAC,uBAAuB,GACnC,GACA,EAEN,cAAK,SAAS,EAAC,8DAA8D,YACzE,KAAC,2BAA2B,IACxB,MAAM,EAAE,IAAI,CAAC,KAAK,EAClB,QAAQ,EAAE,UAAC,CAAM;wBACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBACjC,CAAC,EACD,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,aAAa,EAAE,aAAa,GAEF,GAC5B,IACJ,CACT,CAAC;AAEN,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["\nimport { SolidSelect } from \"../../../shad-cn-ui/SolidSelect\";\nimport { getNumberOfInputs, SolidFilterFieldsParams } from '../SolidFilterFields';\nimport { InputTypes, SolidVarInputsFilterElement } from '../SolidVarInputsFilterElement';\n\nconst SolidShortTextField = ({ fieldMetadata, onChange, index, rule }: SolidFilterFieldsParams) => {\n // const filterable = column.attrs.filterable;\n const showFilterOperator = false;\n const columnDataType = 'text';\n const filterMatchModeOptions = [\n { label: 'Starts With', value: \"$startsWithi\" },\n { label: 'Contains', value: \"$containsi\" },\n { label: 'Not Contains', value: \"$notContainsi\" },\n { label: 'Ends With', value: \"$endsWithi\" },\n { label: 'Equals', value: \"$eqi\" },\n { label: 'Not Equals', value: \"$nei\" },\n { label: 'Is null', value: \"$null\" },\n { label: 'Is Not null', value: \"$notNull\" }\n\n ];\n\n // const header = column.attrs.label ?? fieldMetadata.displayName;\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n\n return (\n <div className='flex flex-col items-start gap-2 md:flex-row md:gap-1'>\n <div className=\"w-full p-0 px-0 md:w-1/2 md:pl-0 md:pr-0\">\n <SolidSelect\n value={rule.matchMode}\n native={false}\n onChange={(e: any) => {\n onChange(rule.id, 'matchMode', e.value)\n }}\n options={filterMatchModeOptions}\n optionLabel='label'\n optionValue='value'\n placeholder=\"Select Operator\"\n className=\"p-inputtext-sm w-full\"\n />\n </div>\n\n <div className='flex flex-col gap-2 w-full md:w-1/2 px-0 md:pl-0 md:pr-0 p-0'>\n <SolidVarInputsFilterElement\n values={rule.value}\n onChange={(e: any) => {\n onChange(rule.id, 'value', e)\n }}\n numberOfInputs={numberOfInputs}\n inputType={InputTypes.Text}\n fieldMetadata={fieldMetadata}\n >\n </SolidVarInputsFilterElement>\n </div>\n </div>\n );\n\n};\n\nexport default SolidShortTextField;\n"]}
|
|
@@ -10,8 +10,8 @@ const SolidShortTextField = ({ fieldMetadata, onChange, index, rule }: SolidFilt
|
|
|
10
10
|
const filterMatchModeOptions = [
|
|
11
11
|
{ label: 'Starts With', value: "$startsWithi" },
|
|
12
12
|
{ label: 'Contains', value: "$containsi" },
|
|
13
|
-
{ label: 'Not Contains', value: "$
|
|
14
|
-
{ label: 'Ends With', value: "$
|
|
13
|
+
{ label: 'Not Contains', value: "$notContainsi" },
|
|
14
|
+
{ label: 'Ends With', value: "$endsWithi" },
|
|
15
15
|
{ label: 'Equals', value: "$eqi" },
|
|
16
16
|
{ label: 'Not Equals', value: "$nei" },
|
|
17
17
|
{ label: 'Is null', value: "$null" },
|