Browse Source

explicit relationship between repr provider and params

bioinsilico 3 years ago
parent
commit
28392728a9
2 changed files with 4 additions and 4 deletions
  1. 1 1
      package.json
  2. 3 3
      src/viewer/helpers/model.ts

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
     "name": "@rcsb/rcsb-molstar",
-    "version": "2.0.0-dev.3",
+    "version": "2.0.0-dev.4",
     "description": "RCSB PDB apps and props based on Mol*.",
     "homepage": "https://github.com/rcsb/rcsb-molstar#readme",
     "repository": {

+ 3 - 3
src/viewer/helpers/model.ts

@@ -14,7 +14,7 @@ import { BuiltInTrajectoryFormat } from 'molstar/lib/mol-plugin-state/formats/tr
 import {TrajectoryHierarchyPresetProvider} from 'molstar/lib/mol-plugin-state/builder/structure/hierarchy-preset';
 
 export class ModelLoader {
-    async load<P>(load: LoadParams, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider, params?: P) {
+    async load<P={}>(load: LoadParams, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider<P>, params?: P) {
         const { fileOrUrl, format, isBinary } = load;
 
         const data = fileOrUrl instanceof File
@@ -23,13 +23,13 @@ export class ModelLoader {
         await this.handleTrajectory<P>(data, format, props, matrix, reprProvider, params);
     }
 
-    async parse<P>(parse: ParseParams, props?: PresetProps & { dataLabel?: string }, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider, params?: P) {
+    async parse<P={}>(parse: ParseParams, props?: PresetProps & { dataLabel?: string }, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider<P>, params?: P) {
         const { data, format } = parse;
         const _data = await this.plugin.builders.data.rawData({ data, label: props?.dataLabel });
         await this.handleTrajectory(_data, format, props, matrix, reprProvider, params);
     }
 
-    private async handleTrajectory<P>(data: any, format: BuiltInTrajectoryFormat, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider, params?: P) {
+    private async handleTrajectory<P={}>(data: any, format: BuiltInTrajectoryFormat, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider<P>, params?: P) {
         const trajectory = await this.plugin.builders.structure.parseTrajectory(data, format);
         if(reprProvider){
             await this.plugin.builders.structure.hierarchy.applyPreset(trajectory, reprProvider, {...params});