From adc5b559cd2f4e80df0b4cbb94269b495ca3b63d Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Thu, 20 Jun 2019 15:35:55 -0700
Subject: [PATCH] various tweaks

---
 src/mol-canvas3d/camera.ts           | 4 ++--
 src/mol-plugin/component.ts          | 2 +-
 src/mol-plugin/layout.ts             | 4 ++--
 src/mol-plugin/state.ts              | 8 +++-----
 src/mol-plugin/util/interactivity.ts | 2 +-
 src/mol-task/task.ts                 | 4 ++--
 src/mol-util/monadic-parser.ts       | 3 +--
 src/mol-util/param-definition.ts     | 2 --
 8 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/src/mol-canvas3d/camera.ts b/src/mol-canvas3d/camera.ts
index 92d489e0b..21c300e59 100644
--- a/src/mol-canvas3d/camera.ts
+++ b/src/mol-canvas3d/camera.ts
@@ -250,7 +250,7 @@ function updateOrtho(camera: Camera) {
     let top = cy + dy
     let bottom = cy - dy
 
-    if (viewOffset && viewOffset.enabled) {
+    if (viewOffset.enabled) {
         const zoomW = zoom / (viewOffset.width / viewOffset.fullWidth)
         const zoomH = zoom / (viewOffset.height / viewOffset.fullHeight)
         const scaleW = (fullRight - fullLeft) / viewOffset.width
@@ -279,7 +279,7 @@ function updatePers(camera: Camera) {
     let width = aspect * height
     let left = -0.5 * width
 
-    if (viewOffset && viewOffset.enabled) {
+    if (viewOffset.enabled) {
         left += viewOffset.offsetX * width / viewOffset.fullWidth
         top -= viewOffset.offsetY * height / viewOffset.fullHeight
         width *= viewOffset.width / viewOffset.fullWidth
diff --git a/src/mol-plugin/component.ts b/src/mol-plugin/component.ts
index e60e69c19..92a4ddc60 100644
--- a/src/mol-plugin/component.ts
+++ b/src/mol-plugin/component.ts
@@ -8,7 +8,7 @@ import { shallowMergeArray } from '../mol-util/object';
 import { RxEventHelper } from '../mol-util/rx-event-helper';
 
 export class PluginComponent<State> {
-    private _ev: RxEventHelper;
+    private _ev: RxEventHelper | undefined;
 
     protected get ev() {
         return this._ev || (this._ev = RxEventHelper.create());
diff --git a/src/mol-plugin/layout.ts b/src/mol-plugin/layout.ts
index bdff4dcdc..e430acaca 100644
--- a/src/mol-plugin/layout.ts
+++ b/src/mol-plugin/layout.ts
@@ -54,7 +54,7 @@ export class PluginLayout extends PluginComponent<PluginLayoutStateProps> {
         this.events.updated.next();
     }
 
-    private root: HTMLElement;
+    private root: HTMLElement | undefined;
     private rootState: RootState | undefined = void 0;
     private expandedViewport: HTMLMetaElement;
 
@@ -78,7 +78,7 @@ export class PluginLayout extends PluginComponent<PluginLayoutStateProps> {
             let body = document.getElementsByTagName('body')[0];
             let head = document.getElementsByTagName('head')[0];
 
-            if (!body || !head) return;
+            if (!body || !head || !this.root) return;
 
             if (this.state.isExpanded) {
                 let children = head.children;
diff --git a/src/mol-plugin/state.ts b/src/mol-plugin/state.ts
index e28aa4cc2..0afb842b1 100644
--- a/src/mol-plugin/state.ts
+++ b/src/mol-plugin/state.ts
@@ -53,12 +53,10 @@ class PluginState {
             camera: p.camera ? {
                 current: this.plugin.canvas3d.camera.getSnapshot(),
                 transitionStyle: p.cameraTranstion.name,
-                transitionDurationInMs: (params && params.cameraTranstion && params.cameraTranstion.name === 'animate' && params.cameraTranstion.params.durationInMs) || void 0
+                transitionDurationInMs: (params && params.cameraTranstion && params.cameraTranstion.name === 'animate') ? params.cameraTranstion.params.durationInMs : undefined
             } : void 0,
             cameraSnapshots: p.cameraSnapshots ? this.cameraSnapshots.getStateSnapshot() : void 0,
-            canvas3d: p.canvas3d ? {
-                props: this.plugin.canvas3d.props
-            } : void 0,
+            canvas3d: p.canvas3d ? { props: this.plugin.canvas3d.props } : void 0,
             durationInMs: params && params.durationInMs
         };
     }
@@ -69,7 +67,7 @@ class PluginState {
         if (snapshot.behaviour) await this.plugin.runTask(this.behaviorState.setSnapshot(snapshot.behaviour));
         if (snapshot.data) await this.plugin.runTask(this.dataState.setSnapshot(snapshot.data));
         if (snapshot.canvas3d) {
-            if (snapshot.canvas3d.props) await PluginCommands.Canvas3D.SetSettings.dispatch(this.plugin, { settings: snapshot.canvas3d.props || { } });
+            if (snapshot.canvas3d.props) await PluginCommands.Canvas3D.SetSettings.dispatch(this.plugin, { settings: snapshot.canvas3d.props });
         }
         if (snapshot.cameraSnapshots) this.cameraSnapshots.setStateSnapshot(snapshot.cameraSnapshots);
         if (snapshot.animation) {
diff --git a/src/mol-plugin/util/interactivity.ts b/src/mol-plugin/util/interactivity.ts
index 96dbd307b..f44f6e6b4 100644
--- a/src/mol-plugin/util/interactivity.ts
+++ b/src/mol-plugin/util/interactivity.ts
@@ -176,7 +176,7 @@ namespace Interactivity {
                 } else if (modifiers.shift && buttons === ButtonsType.Flag.Primary) {
                     // try to extend sequence on Shift + Left-Click
                     let loci: StructureElement.Loci = normalized.loci;
-                    if (modifiers && modifiers.shift) {
+                    if (modifiers.shift) {
                         loci = this.sel.tryGetRange(loci) || loci;
                     }
                     this.toggleSel({ loci, repr: normalized.repr });
diff --git a/src/mol-task/task.ts b/src/mol-task/task.ts
index ec67e573f..f27c85df7 100644
--- a/src/mol-task/task.ts
+++ b/src/mol-task/task.ts
@@ -34,8 +34,8 @@ namespace Task {
     class Impl<T> implements Task<T> {
         readonly id: number;
 
-        run(observer?: Progress.Observer, updateRateMs?: number): Promise<T> {
-            if (observer) return ExecuteObservable(this, observer, updateRateMs as number || 250);
+        run(observer?: Progress.Observer, updateRateMs = 250): Promise<T> {
+            if (observer) return ExecuteObservable(this, observer, updateRateMs);
             return this.f(SyncRuntimeContext);
         }
 
diff --git a/src/mol-util/monadic-parser.ts b/src/mol-util/monadic-parser.ts
index 9438c0782..18cf7714e 100644
--- a/src/mol-util/monadic-parser.ts
+++ b/src/mol-util/monadic-parser.ts
@@ -323,10 +323,9 @@ export namespace MonadicParser {
         return RegExp('^(?:' + re.source + ')', flags(re));
     }
 
-    export function regexp(re: RegExp, groupNumber?: number) {
+    export function regexp(re: RegExp, group = 0) {
         const anchored = anchoredRegexp(re);
         const expected = '' + re;
-        const group = groupNumber || 0;
         return new MonadicParser(function (input, i) {
             const match = anchored.exec(input.slice(i));
             if (match) {
diff --git a/src/mol-util/param-definition.ts b/src/mol-util/param-definition.ts
index d94f32864..5a8663d22 100644
--- a/src/mol-util/param-definition.ts
+++ b/src/mol-util/param-definition.ts
@@ -293,8 +293,6 @@ export namespace ParamDefinition {
             return areEqual(p.params, a, b);
         } else if (p.type === 'mapped') {
             const u = a as NamedParams, v = b as NamedParams;
-            if (!u) return !v;
-            if (!u || !v) return false;
             if (u.name !== v.name) return false;
             const map = p.map(u.name);
             return isParamEqual(map, u.params, v.params);
-- 
GitLab