Newer
Older
/**
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
*/
import { Camera } from 'mol-canvas3d/camera';
import { PluginCommand } from './command/base';
import { Transform, State } from 'mol-state';
import { StateAction } from 'mol-state/action';
import { Canvas3DProps } from 'mol-canvas3d/canvas3d';
export * from './command/base';
State: {
SetCurrentObject: PluginCommand<{ state: State, ref: Transform.Ref }>(),
ApplyAction: PluginCommand<{ state: State, action: StateAction.Instance, ref?: Transform.Ref }>(),
Update: PluginCommand<{ state: State, tree: State.Tree | State.Builder }>(),
RemoveObject: PluginCommand<{ state: State, ref: Transform.Ref }>(),
ToggleExpanded: PluginCommand<{ state: State, ref: Transform.Ref }>({ isImmediate: true }),
ToggleVisibility: PluginCommand<{ state: State, ref: Transform.Ref }>({ isImmediate: true }),
Highlight: PluginCommand<{ state: State, ref: Transform.Ref }>({ isImmediate: true }),
ClearHighlight: PluginCommand<{ state: State, ref: Transform.Ref }>({ isImmediate: true }),
Snapshots: {
Add: PluginCommand<{ name?: string, description?: string }>({ isImmediate: true }),
Remove: PluginCommand<{ id: string }>({ isImmediate: true }),
Apply: PluginCommand<{ id: string }>({ isImmediate: true }),
Clear: PluginCommand<{}>({ isImmediate: true }),
Upload: PluginCommand<{ name?: string, description?: string, serverUrl: string }>({ isImmediate: true }),
Fetch: PluginCommand<{ url: string }>(),
DownloadToFile: PluginCommand<{ name?: string }>({ isImmediate: true }),
OpenFile: PluginCommand<{ file: File }>({ isImmediate: true }),
}
},
Camera: {
Reset: PluginCommand<{}>({ isImmediate: true }),
SetSnapshot: PluginCommand<{ snapshot: Camera.Snapshot, durationMs?: number }>({ isImmediate: true }),
Snapshots: {
Add: PluginCommand<{ name?: string, description?: string }>({ isImmediate: true }),
Remove: PluginCommand<{ id: string }>({ isImmediate: true }),
Apply: PluginCommand<{ id: string }>({ isImmediate: true }),
Clear: PluginCommand<{}>({ isImmediate: true }),
}
SetSettings: PluginCommand<{ settings: Partial<Canvas3DProps> }>({ isImmediate: true })