make InteractiveCanvas callbacks mandatory and move viewMode check inside

This commit is contained in:
dwelle 2023-08-09 19:31:30 +02:00
parent 540e2422fd
commit 3b65f2aefa
2 changed files with 32 additions and 13 deletions

View File

@ -1253,11 +1253,7 @@ class App extends React.Component<AppProps, AppState> {
onPointerCancel={this.removePointer}
onTouchMove={this.handleTouchMove}
onPointerDown={this.handleCanvasPointerDown}
onDoubleClick={
this.state.viewModeEnabled
? undefined
: this.handleCanvasDoubleClick
}
onDoubleClick={this.handleCanvasDoubleClick}
/>
{this.renderFrameNames()}
</ExcalidrawActionManagerContext.Provider>

View File

@ -28,13 +28,34 @@ type InteractiveCanvasProps = {
data: RenderInteractiveSceneCallback,
) => void;
handleCanvasRef: (canvas: HTMLCanvasElement) => void;
onContextMenu: DOMAttributes<HTMLCanvasElement>["onContextMenu"];
onPointerMove: DOMAttributes<HTMLCanvasElement>["onPointerMove"];
onPointerUp: DOMAttributes<HTMLCanvasElement>["onPointerUp"];
onPointerCancel: DOMAttributes<HTMLCanvasElement>["onPointerCancel"];
onTouchMove: DOMAttributes<HTMLCanvasElement>["onTouchMove"];
onPointerDown: DOMAttributes<HTMLCanvasElement>["onPointerDown"];
onDoubleClick: DOMAttributes<HTMLCanvasElement>["onDoubleClick"];
onContextMenu: Exclude<
DOMAttributes<HTMLCanvasElement>["onContextMenu"],
undefined
>;
onPointerMove: Exclude<
DOMAttributes<HTMLCanvasElement>["onPointerMove"],
undefined
>;
onPointerUp: Exclude<
DOMAttributes<HTMLCanvasElement>["onPointerUp"],
undefined
>;
onPointerCancel: Exclude<
DOMAttributes<HTMLCanvasElement>["onPointerCancel"],
undefined
>;
onTouchMove: Exclude<
DOMAttributes<HTMLCanvasElement>["onTouchMove"],
undefined
>;
onPointerDown: Exclude<
DOMAttributes<HTMLCanvasElement>["onPointerDown"],
undefined
>;
onDoubleClick: Exclude<
DOMAttributes<HTMLCanvasElement>["onDoubleClick"],
undefined
>;
};
const InteractiveCanvas = (props: InteractiveCanvasProps) => {
@ -130,7 +151,9 @@ const InteractiveCanvas = (props: InteractiveCanvasProps) => {
onPointerCancel={props.onPointerCancel}
onTouchMove={props.onTouchMove}
onPointerDown={props.onPointerDown}
onDoubleClick={props.onDoubleClick}
onDoubleClick={
props.appState.viewModeEnabled ? undefined : props.onDoubleClick
}
>
{t("labels.drawingCanvas")}
</canvas>