aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DocumentView.tsx
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-03-19 14:40:50 -0400
committerbobzel <zzzman@gmail.com>2021-03-19 14:40:50 -0400
commitfac7cb468478060fa8de0b0fbd5490f2a0a85e7c (patch)
tree8066a652ca769929a141268681402f0c4cdb868f /src/client/views/nodes/DocumentView.tsx
parent9bc4d40220bb5bf0b976d5f425457813f6b9981b (diff)
fixed clicking on web box and immediately scrolling to work.
Diffstat (limited to 'src/client/views/nodes/DocumentView.tsx')
-rw-r--r--src/client/views/nodes/DocumentView.tsx10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index 6d18f5f3e..830da9dc0 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -158,6 +158,7 @@ export interface DocumentViewInternalProps extends DocumentViewProps {
export class DocumentViewInternal extends DocComponent<DocumentViewInternalProps, Document>(Document) {
@observable _animateScalingTo = 0;
@observable _audioState = 0;
+ @observable _pendingDoubleClick = false;
private _downX: number = 0;
private _downY: number = 0;
private _firstX: number = -1;
@@ -170,7 +171,7 @@ export class DocumentViewInternal extends DocComponent<DocumentViewInternalProps
private _dropDisposer?: DragManager.DragDropDisposer;
private _holdDisposer?: InteractionUtils.MultiTouchEventDisposer;
protected _multiTouchDisposer?: InteractionUtils.MultiTouchEventDisposer;
- _componentView: Opt<DocComponentView>;
+ _componentView: Opt<DocComponentView>; // needs to be accessed from DocumentView wrapper class
private get topMost() { return this.props.renderDepth === 0; }
private get active() { return this.props.isSelected(true) || this.props.parentActive(true); }
@@ -482,10 +483,9 @@ export class DocumentViewInternal extends DocComponent<DocumentViewInternalProps
if ((this.layoutDoc.onDragStart || this.props.Document.rootDocument) && !(e.ctrlKey || e.button > 0)) { // onDragStart implies a button doc that we don't want to select when clicking. RootDocument & isTemplaetForField implies we're clicking on part of a template instance and we want to select the whole template, not the part
stopPropagate = false; // don't stop propagation for field templates -- want the selection to propagate up to the root document of the template
} else {
- const ctrlPressed = e.ctrlKey || e.shiftKey;
- if (this.props.Document.type === DocumentType.WEB) {
- this._timeout = setTimeout(() => { this._timeout = undefined; this.props.select(ctrlPressed); }, 350);
- } else this.props.select(ctrlPressed);
+ runInAction(() => this._pendingDoubleClick = true);
+ this._timeout = setTimeout(action(() => { this._pendingDoubleClick = false; this._timeout = undefined; }), 350);
+ this.props.select(e.ctrlKey || e.shiftKey);
}
preventDefault = false;
}