Skip to content

Commit

Permalink
Checkpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
tiberiuichim committed Dec 23, 2022
1 parent e8c5465 commit 1f94361
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 72 deletions.
80 changes: 8 additions & 72 deletions searchlib/components/SearchApp/FacetApp.jsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,10 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { Facet as SUIFacet } from '@eeacms/search/components';
import {
useSearchContext,
useAppConfig,
useSearchDriver,
} from '@eeacms/search/lib/hocs';
import { useAppConfig, useSearchDriver } from '@eeacms/search/lib/hocs';
import BasicSearchApp from './BasicSearchApp';
import { atom, useAtom } from 'jotai';
import { atomFamily } from 'jotai/utils';
import { isEqual } from 'lodash';
import useDeepCompareEffect from 'use-deep-compare-effect';

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

const sorter = (fa, fb) =>
fa.field === fb.field ? 0 : fa.field < fb.field ? -1 : 0;

Expand Down Expand Up @@ -44,32 +32,19 @@ function BoostrapFacetView(props) {
// on initializing the form, set the active value as filters
const activeFilter = filters?.find((filter) => filter.field === field);
if (value && !activeFilter) {
console.log('setting filter', {
value,
filters,
activeFilter,
field,
});

driver._setState({ filters: [...filters, value].sort(sorter) });
}
}, [value, filters, field, setFilter, driver]); // searchContext

React.useEffect(() => {
if (!driver.events.plugins.find((plug) => plug.id === 'trackFilters')) {
function subscribe(payload) {
// console.log('track', {
// payload,
// filters: JSON.stringify(driver.state.filters),
// });
const { filters } = driver.state;
const activeValue = filters.find((f) => f.field === field);
if (!activeValue) {
console.log('changing to ', null);
onChange(null);
}
if (!isEqual(activeValue, value)) {
console.log('changing to ', activeValue);
onChange(activeValue);
}
}
Expand All @@ -82,40 +57,16 @@ function BoostrapFacetView(props) {
driver.events.plugins = driver.events.plugins.filter(
(plug) => plug.id !== 'trackFilters',
);

// handle deleting the facet
driver._setState({
filters: [
...driver.state.filters.filter((f) => f.field !== field),
].sort(sorter),
});
};
}, [driver, field, onChange, value]);

// useDeepCompareEffect()

// React.useEffect(() => {
// if (!isEqual(filters, savedFilters)) {
// setSavedFilters(filters);
// const newValue = filters?.find((filter) => filter.field === field);
//
// if (newValue && !isEqual(value, newValue)) {
// // console.log('onchange useeffect', {
// // value,
// // newValue,
// // filters,
// // savedFilters,
// // });
// onChange(newValue);
// // facetSearchContext.setFilter(value.field, value.values, value.type);
// // facetSearchContext.applySearch();
// } else {
// searchContext.removeFilter(field);
// }
// }
// }, [
// field,
// filters,
// onChange,
// savedFilters,
// setSavedFilters,
// value,
// searchContext,
// ]);

return (
<SUIFacet
{...props}
Expand All @@ -130,18 +81,3 @@ function BoostrapFacetView(props) {
export default function FacetApp(props) {
return <BasicSearchApp {...props} searchViewComponent={BoostrapFacetView} />;
}

// const {
// searchContext: facetSearchContext,
// applySearch,
// } = useProxiedSearchContext(useSearchContext(), `${field}`);
// console.log('current applied filters', value, filters);
// useProxiedSearchContext,

// console.log('driver', driver);
// const searchContext = useSearchContext();
// console.log('searchContext', searchContext);
// const { filters } = searchContext;
// const filterAtom = filterFamily(field);
// const [savedFilters, setSavedFilters] = useAtom(filterAtom);
// const { appConfig, registry } = props;
1 change: 1 addition & 0 deletions src/SearchBlock/widgets/FacetValueWidget.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export default function FacetValueWidget(props) {
},
[id, onChange, value],
);

return facetName ? (
<FacetApp {...props} field={facetName} onChange={onChangeHandler} />
) : null;
Expand Down

0 comments on commit 1f94361

Please sign in to comment.