RcsbFvStateInterface.ts 875 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright (c) 2021 RCSB PDB and contributors, licensed under MIT, See LICENSE file for more info.
  3. * @author Joan Segura Mora <joan.segura@rcsb.org>
  4. */
  5. import {RcsbFvSelectorManager} from "./RcsbFvSelectorManager";
  6. import {AssemblyModelSate} from "./AssemblyModelSate";
  7. import {Subject, Subscription} from "rxjs";
  8. export type RcsbFvStateType<T="feature-click",D=undefined> = {
  9. type: "feature-click"|"selection-change"|"hover-change"|"model-change"|"representation-change"|"pfv-change"|T;
  10. view: "1d-view" | "3d-view";
  11. data?:D;
  12. };
  13. export interface RcsbFvStateInterface {
  14. readonly selectionState: RcsbFvSelectorManager;
  15. readonly assemblyModelSate: AssemblyModelSate;
  16. readonly subject: Subject<RcsbFvStateType<any,any>>
  17. subscribe<T,D>(o:(state:RcsbFvStateType<T,D>)=>void): Subscription;
  18. next<T,D>(state:RcsbFvStateType<T,D>): void;
  19. }