Skip to content

Commit

Permalink
Checkpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
tiberiuichim committed Dec 20, 2022
1 parent 85ae545 commit 187559c
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 44 deletions.
2 changes: 1 addition & 1 deletion searchlib/components/Facets/Facet.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const FacetContainer = (props) => {

const facetsForField = facets[field];

console.log('view', facets, field, props);
// console.log('view', facets, field, props);

if (!facetsForField) return null;

Expand Down
58 changes: 16 additions & 42 deletions searchlib/components/SearchApp/FacetApp.jsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
import React from 'react';
import { Facet as SUIFacet } from '@eeacms/search/components';
import {
useSearchContext,
SearchContext,
useProxiedSearchContext,
} from '@eeacms/search/lib/hocs';
import { useSearchContext, SearchContext } from '@eeacms/search/lib/hocs';
import BasicSearchApp from './BasicSearchApp';
import { atom, useAtom } from 'jotai';
import { atomFamily } from 'jotai/utils';
import { isEqual } from 'lodash';

const timeoutRef = {};
const filterFamily = atomFamily(
({ field }) => atom(),
(a, b) => a.field === b.field,
);

function BoostrapFacetView(props) {
const { field, onChange } = props;
const { appConfig, registry } = props;
const searchContext = useSearchContext();
const {
searchContext: facetSearchContext,
// applySearch,
} = useProxiedSearchContext(searchContext);
const facetSearchContext = useSearchContext();
const { filters } = facetSearchContext;

const facet = appConfig.facets?.find((f) => f.field === field);
Expand All @@ -33,18 +31,15 @@ function BoostrapFacetView(props) {
);
const FacetComponent = registry.resolve[facet.factory].component;

const filterAtom = filterFamily(field);
const [savedFilters, setSavedFilters] = useAtom(filterAtom);

React.useEffect(() => {
const { current } = timeoutRef;
if (current) {
clearTimeout(current);
} else {
timeoutRef.current = setTimeout(() => onChange(filters), 400);
if (!isEqual(filters, savedFilters)) {
setSavedFilters(filters);
onChange(filters);
}

return () => {
if (current) clearTimeout(current);
};
}, [filters, onChange]);
}, [filters, onChange, savedFilters, setSavedFilters]);

return (
<SearchContext.Provider value={facetSearchContext}>
Expand All @@ -62,24 +57,3 @@ function BoostrapFacetView(props) {
export default function FacetApp(props) {
return <BasicSearchApp {...props} searchViewComponent={BoostrapFacetView} />;
}

// console.log('props', props);
// const rawSearchContext = useSearchContext();
// const {
// searchContext: facetSearchContext,
// applySearch,
// } = useProxiedSearchContext(rawSearchContext);
// const { appConfig } = useAppConfig();
// console.log('facet', facet);
// import useWhyDidYouUpdate from '@eeacms/search/lib/hocs/useWhyDidYouUpdate';
// import useDeepCompareEffect from 'use-deep-compare-effect';
// console.log('outside');
// console.log('triggered change on filters');

// useWhyDidYouUpdate('Bootstrap', { filters, onChange });
// React.useEffect(
// () => () => {
// console.log('unmount BootstrapFacetView');
// },
// [],
// );
5 changes: 4 additions & 1 deletion src/SearchBlock/FacetValueWidget.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ import { FacetApp } from '@eeacms/search';
export default function FacetValueWidget(props) {
const { facetName, onChange, id } = props;
const onChangeHandler = React.useCallback(
(filters) => onChange(id, filters),
(filters) => {
console.log('onchange', filters);
onChange(id, filters);
},
[id, onChange],
);
return facetName ? (
Expand Down

0 comments on commit 187559c

Please sign in to comment.