UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

78 lines (77 loc) 1.91 kB
import { jsx as F } from "react/jsx-runtime"; import { noop as p, isEqual as d, isEmpty as V } from "lodash-es"; import { useMemo as s } from "react"; import v from "../widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js"; function S(l, e) { l.columnDef.meta?.enableMultipleSelect ? l.setFilterValue((t) => t ? [...t, e] : [e]) : l.setFilterValue([e]); } function y(l, e) { l.setFilterValue((t) => { if (t) { const n = [ ...t.filter((o) => !d(o, e)) ]; if (!V(n)) return n; } return null; }); } function A(l) { if (l) { const e = Array.from(l.values()).some( (t) => t != 0 ); return Array.from(l.entries()).map( (t) => ({ value: t[0], count: e ? t[1] : void 0 }) ); } return []; } function M(l) { const { column: e, title: t } = l, n = e.columnDef.meta?.enableMultipleSelect || !1, o = e.getFilterValue(), i = s( () => o || [], [o] ), u = e.getFacetedUniqueValues(), c = s( () => A(u).map( (r) => { let a = r.value; e.columnDef?.meta?.getDisplayText && (a = e.columnDef.meta.getDisplayText(r.value)); const m = !!(i || []).find( (f) => f === r.value ); return { ...r, displayText: a, isSelected: m }; } ), [e, i, u] ); return /* @__PURE__ */ F( v, { facetTitle: t, facetValues: c, filterIsActive: e.getIsFiltered(), containerAs: "Dropdown", dropdownType: "Icon", defaultShowAllValues: !0, onAddValueToSelection: (r) => { S(e, r); }, onRemoveValueFromSelection: (r) => { y(e, r); }, onRemoveAllFacetSelections: () => { e.setFilterValue(null); }, onHoverOverValue: p, canMultiSelect: n } ); } export { M as ColumnHeaderEnumFilter }; //# sourceMappingURL=ColumnHeaderEnumFilter.js.map