diff --git a/src/mol-plugin/context.ts b/src/mol-plugin/context.ts index d498b387c5a048c4b0d20c81d179ab8b77dc1517..9df4fdce23832c51a9ec0e1d376c16ddae8e1f6a 100644 --- a/src/mol-plugin/context.ts +++ b/src/mol-plugin/context.ts @@ -11,7 +11,7 @@ import { CustomPropertyRegistry } from '../mol-model-props/common/custom-propert import { StructureRepresentationRegistry } from '../mol-repr/structure/registry'; import { VolumeRepresentationRegistry } from '../mol-repr/volume/registry'; import { State, StateTransform, StateTransformer } from '../mol-state'; -import { Task } from '../mol-task'; +import { Task, Progress } from '../mol-task'; import { ColorTheme } from '../mol-theme/color'; import { SizeTheme } from '../mol-theme/size'; import { ThemeRegistryContext } from '../mol-theme/theme'; @@ -176,8 +176,8 @@ export class PluginContext { return this.tasks.run(task); } - requestTaskAbort(task: Task<any> | number, reason?: string) { - this.tasks.requestAbort(task, reason); + requestTaskAbort(progress: Progress, reason?: string) { + this.tasks.requestAbort(progress, reason); } dispose() { diff --git a/src/mol-plugin/ui/task.tsx b/src/mol-plugin/ui/task.tsx index e05171d707aba0749ce29ef52a1ff040092e93af..81c73ff9bbe184765a741fba9a45664e6770be08 100644 --- a/src/mol-plugin/ui/task.tsx +++ b/src/mol-plugin/ui/task.tsx @@ -34,7 +34,7 @@ export class BackgroundTaskProgress extends PluginUIComponent<{ }, { tracked: Or class ProgressEntry extends PluginUIComponent<{ event: TaskManager.ProgressEvent }> { abort = () => { - this.plugin.requestTaskAbort(this.props.event.id, 'User Request'); + this.plugin.requestTaskAbort(this.props.event.progress, 'User Request'); } render() { diff --git a/src/mol-plugin/util/task-manager.ts b/src/mol-plugin/util/task-manager.ts index 6bd257f26afbd28ad9ee64dc582aa492379507b8..dd8ce979e8668592a092cf9d9232e60c58ea20ff 100644 --- a/src/mol-plugin/util/task-manager.ts +++ b/src/mol-plugin/util/task-manager.ts @@ -22,7 +22,7 @@ class TaskManager { private track(internalId: number, taskId: number) { return (progress: Progress) => { - if (progress.canAbort && progress.requestAbort && this.abortRequests.has(taskId)) { + if (progress.canAbort && progress.requestAbort && this.abortRequests.has(progress.root.progress.taskId)) { progress.requestAbort(this.abortRequests.get(taskId)); } const elapsed = now() - progress.root.progress.startedTime; @@ -45,8 +45,8 @@ class TaskManager { } } - requestAbort(task: Task<any> | number, reason?: string) { - this.abortRequests.set(typeof task === 'number' ? task : task.id, reason); + requestAbort(progress: Progress, reason?: string) { + this.abortRequests.set(progress.root.progress.taskId, reason); } dispose() {