UNPKG

@rcsb/rcsb-saguaro-app

Version:
35 lines 2.12 kB
import { ReturnType, Service } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchEnums"; import { RcsbSearchMetadata } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchMetadata"; import { CATH_FACET, CHEM_COMP_FACET, RELEASE_DATE_FACET, ECOD_FACET, ENTITY_NAME_FACET, EXPERIMENTAL_METHOD_FACET, LIGAND_FACET, ORGANISM_FACET, PFAM_FACET, RESOLUTION_FACET, SCOP_FACET, TAXONOMY_FACET } from "./SingleFacets"; import { cloneDeep } from "lodash"; class EntityGranularitySearchFacetStore { constructor() { this.entryFacet = [cloneDeep(EXPERIMENTAL_METHOD_FACET), cloneDeep(RESOLUTION_FACET), cloneDeep(RELEASE_DATE_FACET)]; this.instanceFacet = [cloneDeep(SCOP_FACET), cloneDeep(CATH_FACET), cloneDeep(ECOD_FACET), cloneDeep(LIGAND_FACET)]; this.entityFacet = [cloneDeep(ORGANISM_FACET), cloneDeep(TAXONOMY_FACET), cloneDeep(PFAM_FACET), cloneDeep(ENTITY_NAME_FACET)]; this.nonPolymerFacet = [cloneDeep(CHEM_COMP_FACET)]; this.facetLayoutGrid = [ RcsbSearchMetadata.RcsbEntryInfo.DiffrnResolutionHigh.Value.path, RcsbSearchMetadata.RcsbEntitySourceOrganism.NcbiScientificName.path, RcsbSearchMetadata.RcsbEntitySourceOrganism.NcbiParentScientificName.path, RcsbSearchMetadata.Exptl.Method.path, RcsbSearchMetadata.RcsbPolymerInstanceAnnotation.AnnotationLineage.Name.path ]; this.returnType = ReturnType.PolymerEntity; } getServices() { return [Service.Text, Service.TextChem]; } getFacetService(service) { switch (service) { case Service.Text: return this.entryFacet.concat(this.instanceFacet).concat(this.entityFacet); case Service.TextChem: return this.nonPolymerFacet; case "all": return this.entryFacet.concat(this.instanceFacet).concat(this.entityFacet).concat(this.nonPolymerFacet); default: return []; } } } export const entityGranularityGroupFacetStore = new EntityGranularitySearchFacetStore(); //# sourceMappingURL=EntityGranularitySearchFacetStore.js.map