UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

45 lines (44 loc) 1.92 kB
import { Categories } from '../category/categories'; /** * Holds serializable information necessary for recreation of any {@link Category} instance in any internal state. * * Is used to persist search GUI state. */ export interface CategoryGeneratorMetadata { category: Categories | string; configuration: CategoryMetadataConfiguration; values: Array<unknown>; } /** * The keys are some configuration options that make sense to the {@link Category} instance that generated * the {@link CategoryGeneratorMetadata} object. * * The values are some serializable data, that the Category needs to restore its state. */ export interface CategoryMetadataConfiguration { [k: string]: unknown; } /** * The two nested arrays represent a predicate tree with 3 levels. The root node of the tree is a predicate consisting of a conjunction * (AND) of its subtrees. * * The single array represents a predicate tree with 2 levels. The root node of the tree is a predicate consisting of a disjunction (OR) of * its subtrees. * * The {@link CategoryGeneratorMetadata} represents a predicate tree with 1 level - a leaf node. */ export type GeneratorMetadata = PredicateTreeMetadata | Array<CategoryGeneratorMetadata> | CategoryGeneratorMetadata; /** * Serialized [advanced search]{@link AbstractAdvancedSearchComponent} filter predicate tree. * * The nested array represent nested predicate trees with boolean operators. * The structure of the tree mirrors the search component. * * The top level array is a conjunction (AND) of its subtrees. * * The second level array is a disjunction (OR) of the leaves. * * The {@link CategoryGeneratorMetadata} is a leaf node of the predicate tree containing a single query * generated by {@link AbstractSearchPredicateComponent} (and by extension by a {@link Category}). */ export type PredicateTreeMetadata = Array<Array<CategoryGeneratorMetadata>>;