FolderViewSearch
Creates a folder view based on hierchical facet structure
Disclaimer: This component was built by the community at large and is not an official Coveo JSUI Component. Use this component at your own risk.
Getting Started
- Install the component into your project.
npm i @coveops/folder-view-search
- Use the Component or extend it
Typescript:
import { FolderViewSearch, IFolderViewSearchOptions } from '@coveops/folder-view-search';
Javascript
const FolderViewSearch = require('@coveops/folder-view-search').FolderViewSearch;
- You can also expose the component alongside other components being built in your project.
export * from '@coveops/folder-view-search'
- Or for quick testing, you can add the script from unpkg
<script src="https://unpkg.com/@coveops/folder-view-search@latest/dist/index.min.js"></script>
Disclaimer: Unpkg should be used for testing but not for production.
- Include the component in your template as follows:
Place the component in your markup:
<div class="CoveoFolderViewSearch"></div>
Component Options
Component has 3 options :
facetField: string; // should be a multivalue field used by a category facet
itemLevelField: string; // should be a field which indicates on which level each items are
useToggleButton?: boolean; // indicate whether the folder view is driven by a toggle switch or by the state of the page
useFolderViewByDefault?: boolean; // indicate whether the folder view is turned on by default on load
Here's an example of how the component could be configured
<div class="CoveoFolderViewSearch" data-use-toggle-button="true" data-facet-field="@categoryfacetfield" data-item-level-field="@itemlevel"></div>
Extending
Extending the component can be done as follows:
import { FolderViewSearch, IFolderViewSearchOptions } from "@coveops/folder-view-search";
export interface IExtendedFolderViewSearchOptions extends IFolderViewSearchOptions {}
export class ExtendedFolderViewSearch extends FolderViewSearch {}
Contribute
- Clone the project
- Copy
.env.dist
to.env
and update the COVEO_ORG_ID and COVEO_TOKEN fields in the.env
file to use your Coveo credentials and SERVER_PORT to configure the port of the sandbox - it will use 8080 by default. - Build the code base:
npm run build
- Serve the sandbox for live development
npm run serve