ChemPal Documentation - v0.0.13-beta.5
    Preparing search index...
    • Builds a seed filter-config object from the column definitions, keyed by column id. Each filterable column contributes one entry with its filterVariant and an empty filterData array ready to be populated as search results stream in.

      Returns Record<string, { filterVariant: string; filterData: unknown[] }>

      Record of { [columnId]: { filterVariant, filterData: [] } } for every column whose meta.filterVariant is defined and that has a non-empty id.

      const filterConfig = getColumnFilterConfig();
      // => {
      // title: { filterVariant: "text", filterData: [] },
      // supplier: { filterVariant: "select", filterData: [] },
      // country: { filterVariant: "select", filterData: [] },
      // shipping: { filterVariant: "select", filterData: [] },
      // availability: { filterVariant: "select", filterData: [] },
      // description: { filterVariant: "text", filterData: [] },
      // price: { filterVariant: "range", filterData: [] },
      // quantity: { filterVariant: "range", filterData: [] },
      // uom: { filterVariant: "select", filterData: [] },
      // }
      export function getColumnFilterConfig() {
      return TableColumns().reduce<Record<string, { filterVariant: string; filterData: unknown[] }>>(
      (accu, column) => {
      const filterVariant = column.meta?.filterVariant;
      if (filterVariant === undefined || !column.id) return accu;

      accu[column.id] = {
      filterVariant,
      filterData: [],
      };
      return accu;
      },
      {},
      );
      }