-
David Sehnal authoredDavid Sehnal authored
basic.ts 1.56 KiB
/*
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* Adapted from LiteMol
* Copyright (c) 2016 - now David Sehnal, licensed under Apache 2.0, See LICENSE file for more info.
*/
import { Event } from './event'
import { Logger } from '../service/logger';
import { Dispatcher } from '../service/dispatcher'
import { LayoutState } from '../controller/layout';
import { ViewportOptions } from '../controller/visualization/viewport';
import { Job } from '../service/job';
import { Element } from 'mol-model/structure'
const Lane = Dispatcher.Lane;
export const LogEvent = Event.create<Logger.Entry>('bs.Log', Lane.Log);
export namespace CommonEvents {
export const LayoutChanged = Event.create('bs.Common.LayoutChanged', Lane.Slow);
export const ComponentsChanged = Event.create('bs.Common.ComponentsChanged', Lane.Slow);
}
export namespace JobEvents {
export const Started = Event.create<Job.Info>('bs.Jobs.Started', Lane.Job);
export const Completed = Event.create<number>('bs.Jobs.Completed', Lane.Job);
export const StateUpdated = Event.create<Job.State>('bs.Jobs.StateUpdated', Lane.Busy);
}
export namespace LayoutEvents {
export const SetState = Event.create<Partial<LayoutState>>('lm.cmd.Layout.SetState', Lane.Slow);
export const SetViewportOptions = Event.create<ViewportOptions>('bs.cmd.Layout.SetViewportOptions', Lane.Slow);
}
export namespace InteractivityEvents {
export const HighlightElementLoci = Event.create<Element.Loci | undefined>('bs.Interactivity.HighlightElementLoci', Lane.Slow);
}