Source: components/filter/filter-tree/filter-style/filter-style.js

import FilterTree from "../filter-tree";
import FilterTreeStyle2 from "./filter-tree-style2";
import FilterTreeStyle3 from "./filter-tree-style3";
import FilterTreeStyle4 from "./filter-tree-style4";

/**
 * Creates a new FilterTree instance
 * @param {string} id - id of the filter tree (ex: 'boost-pfs-filter-tree')
 * @param {FilterTreeEnum} filterTreeType - 'vertical' or 'horizontal'
 * @returns {FilterTree} - A new instance of FilterTree or its inherited style class
 */
const newFilterTree = (id, filterTreeType) => {
	if (FilterTreeStyle3.isActive(filterTreeType)) {
		return new FilterTreeStyle3(id, filterTreeType);
	} else if (FilterTreeStyle2.isActive(filterTreeType)) {
		return new FilterTreeStyle2(id, filterTreeType);
    } else if (FilterTreeStyle4.isActive(filterTreeType)) {
		return new FilterTreeStyle4(id, filterTreeType);
	} else {
		return new FilterTree(id, filterTreeType);
	}
}

/**
 * Manages filter styles
 */
const FilterStyle = {
	newFilterTree: newFilterTree,
}
export default FilterStyle;