@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
35 lines • 2.12 kB
JavaScript
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