aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2023-11-16 16:18:32 -0500
committerbobzel <zzzman@gmail.com>2023-11-16 16:18:32 -0500
commit5931380effc04d63bb05c47eb6bde7b20a1b214f (patch)
treeb31f2a044e7752c0a732d830757793bcafbcad10 /src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
parent384489db1afe0bc332a382446db0c0434a34525d (diff)
removed touch code that wasn't being used or maintained
Diffstat (limited to 'src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx110
1 files changed, 24 insertions, 86 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index e3b0d88e9..26e682989 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -21,7 +21,6 @@ import { Docs, DocUtils } from '../../../documents/Documents';
import { CollectionViewType, DocumentType } from '../../../documents/DocumentTypes';
import { DocumentManager } from '../../../util/DocumentManager';
import { DragManager, dropActionType } from '../../../util/DragManager';
-import { InteractionUtils } from '../../../util/InteractionUtils';
import { FollowLinkScript } from '../../../util/LinkFollower';
import { ReplayMovements } from '../../../util/ReplayMovements';
import { ScriptingGlobals } from '../../../util/ScriptingGlobals';
@@ -477,9 +476,9 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
}, -1);
}
- tryDragCluster(e: PointerEvent | TouchEvent, cluster: number) {
+ tryDragCluster(e: PointerEvent, cluster: number) {
if (cluster !== -1) {
- const ptsParent = e instanceof PointerEvent ? e : e.targetTouches.item(0);
+ const ptsParent = e;
if (ptsParent) {
const eles = this.childLayoutPairs.map(pair => pair.layout).filter(cd => (this.props.Document._freeform_useClusters ? NumCast(cd.layout_cluster) : NumCast(cd.group, -1)) === cluster);
const clusterDocs = eles.map(ele => DocumentManager.Instance.getDocumentView(ele, this.props.DocumentView?.())!);
@@ -620,29 +619,14 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
};
@action
- onPenUp = (e: PointerEvent): void => {
- if (!InteractionUtils.IsType(e, InteractionUtils.TOUCHTYPE)) {
- document.removeEventListener('pointerup', this.onPenUp);
- const currentCol = DocListCast(this.rootDoc.currentInkDoc);
- const rootDocList = DocListCast(this.rootDoc.data);
- currentCol.push(rootDocList[rootDocList.length - 1]);
-
- this._batch?.end();
- }
- };
-
- @action
onPointerDown = (e: React.PointerEvent): void => {
this._downX = this._lastX = e.pageX;
this._downY = this._lastY = e.pageY;
this._downTime = Date.now();
const scrollMode = e.altKey ? (Doc.UserDoc().freeformScrollMode === freeformScrollMode.Pan ? freeformScrollMode.Zoom : freeformScrollMode.Pan) : Doc.UserDoc().freeformScrollMode;
if (e.button === 0 && (!(e.ctrlKey && !e.metaKey) || scrollMode !== freeformScrollMode.Pan) && this.props.isContentActive(true)) {
- if (
- !this.props.Document._isGroup && // group freeforms don't pan when dragged -- instead let the event go through to allow the group itself to drag
- !InteractionUtils.IsType(e, InteractionUtils.TOUCHTYPE) &&
- !InteractionUtils.IsType(e, InteractionUtils.PENTYPE)
- ) {
+ if (!this.props.Document._isGroup) {
+ // group freeforms don't pan when dragged -- instead let the event go through to allow the group itself to drag
// prettier-ignore
switch (Doc.ActiveTool) {
case InkTool.Highlighter: break;
@@ -663,29 +647,6 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
}
};
- @action
- handle1PointerDown = (e: React.TouchEvent, me: InteractionUtils.MultiTouchEvent<React.TouchEvent>) => {
- // const myTouches = InteractionUtils.GetMyTargetTouches(me, this.prevPoints, true);
- const pt = me.changedTouches[0];
- if (pt) {
- this._hitCluster = this.pickCluster(this.screenToLocalXf.transformPoint(pt.clientX, pt.clientY));
- if (!e.shiftKey && !e.altKey && !e.ctrlKey && this.props.isContentActive(true)) {
- this.removeMoveListeners();
- this.addMoveListeners();
- this.removeEndListeners();
- this.addEndListeners();
- if (Doc.ActiveTool === InkTool.None) {
- this._lastX = pt.pageX;
- this._lastY = pt.pageY;
- e.preventDefault();
- e.stopPropagation();
- } else {
- e.preventDefault();
- }
- }
- }
- };
-
public unprocessedDocs: Doc[] = [];
public static collectionsWithUnprocessedInk = new Set<CollectionFreeFormView>();
@undoBatch
@@ -819,20 +780,15 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
};
@action
- onPointerMove = (e: PointerEvent): boolean => {
- if (InteractionUtils.IsType(e, InteractionUtils.PENTYPE)) return false;
- if (InteractionUtils.IsType(e, InteractionUtils.TOUCHTYPE)) {
- Doc.ActiveTool = InkTool.None;
- } else {
- if (this.tryDragCluster(e, this._hitCluster)) {
- e.stopPropagation(); // we're moving a cluster, so stop propagation and return true to end panning and let the document drag take over
- return true;
- }
- // pan the view if this is a regular collection, or it's an overlay and the overlay is zoomed (otherwise, there's nothing to pan)
- if (!this.props.isAnnotationOverlay || 1 - NumCast(this.rootDoc._freeform_scale_min, 1) / this.zoomScaling()) {
- this.pan(e);
- e.stopPropagation(); // if we are actually panning, stop propagation -- this will preven things like the overlayView from dragging the document while we're panning
- }
+ onPointerMove = (e: PointerEvent) => {
+ if (this.tryDragCluster(e, this._hitCluster)) {
+ e.stopPropagation(); // we're moving a cluster, so stop propagation and return true to end panning and let the document drag take over
+ return true;
+ }
+ // pan the view if this is a regular collection, or it's an overlay and the overlay is zoomed (otherwise, there's nothing to pan)
+ if (!this.props.isAnnotationOverlay || 1 - NumCast(this.rootDoc._freeform_scale_min, 1) / this.zoomScaling()) {
+ this.pan(e);
+ e.stopPropagation(); // if we are actually panning, stop propagation -- this will preven things like the overlayView from dragging the document while we're panning
}
return false;
};
@@ -970,11 +926,6 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
return tVals;
};
- cleanUpInteractions = () => {
- this.removeMoveListeners();
- this.removeEndListeners();
- };
-
@action
zoom = (pointX: number, pointY: number, deltaY: number): void => {
if (this.Document._isGroup || this.Document[(this.props.viewField ?? '_') + 'freeform_noZoom']) return;
@@ -1699,7 +1650,7 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
!Doc.noviceMode && appearanceItems.push({ description: `update icon`, event: this.updateIcon, icon: 'compress-arrows-alt' });
this.props.renderDepth && appearanceItems.push({ description: 'Ungroup collection', event: this.promoteCollection, icon: 'table' });
- this.props.Document._isGroup && this.Document.transcription && appearanceItems.push({ description: 'Ink to text', event: () => this.transcribeStrokes(false), icon: 'font' });
+ this.props.Document._isGroup && this.Document.transcription && appearanceItems.push({ description: 'Ink to text', event: this.transcribeStrokes, icon: 'font' });
!Doc.noviceMode ? appearanceItems.push({ description: 'Arrange contents in grid', event: this.layoutDocsInGrid, icon: 'table' }) : null;
!Doc.noviceMode ? appearanceItems.push({ description: (this.Document._freeform_useClusters ? 'Hide' : 'Show') + ' Clusters', event: () => this.updateClusters(!this.Document._freeform_useClusters), icon: 'braille' }) : null;
@@ -1723,16 +1674,13 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
@undoBatch
@action
- transcribeStrokes = (math: boolean) => {
+ transcribeStrokes = () => {
if (this.props.Document._isGroup && this.props.Document.transcription) {
- if (!math) {
- const text = StrCast(this.props.Document.transcription);
-
- const lines = text.split('\n');
- const height = 30 + 15 * lines.length;
+ const text = StrCast(this.props.Document.transcription);
+ const lines = text.split('\n');
+ const height = 30 + 15 * lines.length;
- this.addDocument(Docs.Create.TextDocument(text, { title: lines[0], x: NumCast(this.layoutDoc.x) + NumCast(this.layoutDoc._width) + 20, y: NumCast(this.layoutDoc.y), _width: 200, _height: height }));
- }
+ this.addDocument(Docs.Create.TextDocument(text, { title: lines[0], x: NumCast(this.layoutDoc.x) + NumCast(this.layoutDoc._width) + 20, y: NumCast(this.layoutDoc.y), _width: 200, _height: height }));
}
};
@@ -1804,7 +1752,7 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
brushedView = () => this._brushedView;
gridColor = () =>
DashColor(lightOrDark(this.props.styleProvider?.(this.layoutDoc, this.props, StyleProp.BackgroundColor)))
- .fade(0.6)
+ .fade(0.5)
.toString();
@computed get backgroundGrid() {
return (
@@ -1879,17 +1827,14 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
nativeDim = () => this.nativeDimScaling;
@action
- brushView = (viewport: { width: number; height: number; panX: number; panY: number }, transTime: number) => {
+ brushView = (viewport: { width: number; height: number; panX: number; panY: number }, transTime: number, holdTime: number = 2500) => {
this._brushtimer1 && clearTimeout(this._brushtimer1);
this._brushtimer && clearTimeout(this._brushtimer);
this._brushedView = undefined;
this._brushtimer1 = setTimeout(
action(() => {
this._brushedView = { ...viewport, panX: viewport.panX - viewport.width / 2, panY: viewport.panY - viewport.height / 2 };
- this._brushtimer = setTimeout(
- action(() => (this._brushedView = undefined)),
- 2500
- );
+ this._brushtimer = setTimeout(action(() => (this._brushedView = undefined)), holdTime); // prettier-ignore
}),
transTime + 1
);
@@ -1966,17 +1911,10 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
}
}
-interface CollectionFreeFormOverlayViewProps {
- elements: () => ViewDefResult[];
-}
-
@observer
-class CollectionFreeFormOverlayView extends React.Component<CollectionFreeFormOverlayViewProps> {
+class CollectionFreeFormOverlayView extends React.Component<{ elements: () => ViewDefResult[] }> {
render() {
- return this.props
- .elements()
- .filter(ele => ele.bounds?.z)
- .map(ele => ele.ele);
+ return this.props.elements().filter(ele => ele.bounds?.z).map(ele => ele.ele); // prettier-ignore
}
}