@ue-too/board-konva-integration 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -0
- package/index.d.ts +5 -0
- package/index.js +3 -0
- package/index.js.map +10 -0
- package/konva-input-event-parser.d.ts +21 -0
- package/package.json +36 -0
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# @ue-too/board-konva-integration
|
|
2
|
+
|
|
3
|
+
Description of the board-konva-integration package.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@ue-too/board-konva-integration)
|
|
6
|
+
[](https://github.com/ue-too/ue-too/blob/main/LICENSE.txt)
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
TODO: Add package overview
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
Using Bun:
|
|
15
|
+
```bash
|
|
16
|
+
bun add @ue-too/board-konva-integration
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Using npm:
|
|
20
|
+
```bash
|
|
21
|
+
npm install @ue-too/board-konva-integration
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
TODO: Add quick start example
|
|
27
|
+
|
|
28
|
+
## API Reference
|
|
29
|
+
|
|
30
|
+
For complete API documentation with detailed type information, see the [TypeDoc-generated documentation](/board-konva-integration/).
|
|
31
|
+
|
|
32
|
+
## License
|
|
33
|
+
|
|
34
|
+
MIT
|
|
35
|
+
|
|
36
|
+
## Repository
|
|
37
|
+
|
|
38
|
+
[https://github.com/ue-too/ue-too](https://github.com/ue-too/ue-too)
|
package/index.d.ts
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
class r{_stage;_kmtInputStateMachine;_inputOrchestrator;_keyfirstPressed;_abortController;constructor(e,t,n){this._stage=e,this._kmtInputStateMachine=t,this._inputOrchestrator=n,this._keyfirstPressed=new Map,this.bindFunctions(),this._abortController=new AbortController}bindFunctions(){this.pointerDownHandler=this.pointerDownHandler.bind(this),this.pointerUpHandler=this.pointerUpHandler.bind(this),this.pointerMoveHandler=this.pointerMoveHandler.bind(this),this.scrollHandler=this.scrollHandler.bind(this),this.keydownHandler=this.keydownHandler.bind(this),this.keyupHandler=this.keyupHandler.bind(this)}setUp(){this._stage.on("pointerdown",this.pointerDownHandler),this._stage.on("pointerup",this.pointerUpHandler),this._stage.on("pointermove",this.pointerMoveHandler),this._stage.on("wheel",this.scrollHandler),window.addEventListener("keydown",this.keydownHandler,{signal:this._abortController.signal}),window.addEventListener("keyup",this.keyupHandler,{signal:this._abortController.signal})}tearDown(){this._stage.off("pointerdown",this.pointerDownHandler),this._stage.off("pointerup",this.pointerUpHandler),this._stage.off("pointermove",this.pointerMoveHandler),this._stage.off("wheel",this.scrollHandler),this._abortController.abort(),this._abortController=new AbortController}processEvent(...e){let t=this._kmtInputStateMachine.happens(...e);if(t.handled&&"output"in t)this._inputOrchestrator.processInputEventOutput(t.output)}pointerDownHandler(e){let t=e.evt;if(t.button===0&&t.pointerType==="mouse"){this.processEvent("leftPointerDown",{x:t.clientX,y:t.clientY});return}if(t.button===1&&t.pointerType==="mouse"){this.processEvent("middlePointerDown",{x:t.clientX,y:t.clientY});return}}pointerUpHandler(e){let t=e.evt;if(t.button===0&&t.pointerType==="mouse"){this.processEvent("leftPointerUp",{x:t.clientX,y:t.clientY});return}if(t.button===1&&t.pointerType==="mouse"){this.processEvent("middlePointerUp",{x:t.clientX,y:t.clientY});return}}pointerMoveHandler(e){let t=e.evt;if(t.buttons===1&&t.pointerType==="mouse"){this.processEvent("leftPointerMove",{x:t.clientX,y:t.clientY});return}if(t.buttons===4&&t.pointerType==="mouse"){this.processEvent("middlePointerMove",{x:t.clientX,y:t.clientY});return}this.processEvent("pointerMove",{x:t.clientX,y:t.clientY})}scrollHandler(e){let t=e.evt;if(t.ctrlKey)this.processEvent("scrollWithCtrl",{x:t.clientX,y:t.clientY,deltaX:t.deltaX,deltaY:t.deltaY});else this.processEvent("scroll",{x:t.clientX,y:t.clientY,deltaX:t.deltaX,deltaY:t.deltaY})}keydownHandler(e){if(this._keyfirstPressed.has(e.key))return;if(this._keyfirstPressed.set(e.key,!0),e.key===" ")this.processEvent("spacebarDown")}keyupHandler(e){if(this._keyfirstPressed.has(e.key))this._keyfirstPressed.delete(e.key);if(e.key===" ")this.processEvent("spacebarUp")}}export{r as KonvaInputParser};
|
|
2
|
+
|
|
3
|
+
//# debugId=A936ABE444886BE564756E2164756E21
|
package/index.js.map
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/konva-input-event-parser.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { KonvaEventObject } from \"konva/lib/Node\";\nimport { Stage } from \"konva/lib/Stage\";\nimport { InputOrchestrator, KmtInputEventMapping, KmtInputStateMachine } from \"@ue-too/board\";\nimport { EventArgs } from \"@ue-too/being\";\n\nexport class KonvaInputParser {\n private _stage: Stage;\n private _kmtInputStateMachine: KmtInputStateMachine;\n private _inputOrchestrator: InputOrchestrator;\n private _keyfirstPressed: Map<string, boolean>;\n private _abortController: AbortController;\n\n constructor(stage: Stage, kmtInputStateMachine: KmtInputStateMachine, inputOrchestrator: InputOrchestrator){\n this._stage = stage;\n this._kmtInputStateMachine = kmtInputStateMachine;\n this._inputOrchestrator = inputOrchestrator;\n this._keyfirstPressed = new Map();\n this.bindFunctions();\n this._abortController = new AbortController();\n }\n\n bindFunctions(){\n this.pointerDownHandler = this.pointerDownHandler.bind(this);\n this.pointerUpHandler = this.pointerUpHandler.bind(this);\n this.pointerMoveHandler = this.pointerMoveHandler.bind(this);\n this.scrollHandler = this.scrollHandler.bind(this);\n this.keydownHandler = this.keydownHandler.bind(this);\n this.keyupHandler = this.keyupHandler.bind(this);\n }\n\n setUp(){\n this._stage.on(\"pointerdown\", this.pointerDownHandler);\n this._stage.on(\"pointerup\", this.pointerUpHandler);\n this._stage.on(\"pointermove\", this.pointerMoveHandler);\n this._stage.on(\"wheel\", this.scrollHandler);\n window.addEventListener(\"keydown\", this.keydownHandler, {signal: this._abortController.signal});\n window.addEventListener(\"keyup\", this.keyupHandler, {signal: this._abortController.signal});\n }\n\n tearDown(){\n this._stage.off(\"pointerdown\", this.pointerDownHandler);\n this._stage.off(\"pointerup\", this.pointerUpHandler);\n this._stage.off(\"pointermove\", this.pointerMoveHandler);\n this._stage.off(\"wheel\", this.scrollHandler);\n this._abortController.abort();\n this._abortController = new AbortController();\n }\n\n private processEvent<K extends keyof KmtInputEventMapping>(\n ...args: EventArgs<KmtInputEventMapping, K>\n ): void {\n const result = this._kmtInputStateMachine.happens(...args);\n if (result.handled && \"output\" in result) {\n this._inputOrchestrator.processInputEventOutput(result.output);\n }\n }\n\n pointerDownHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const event = eventObject.evt;\n if(event.button === 0 && event.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerDown\", {x: event.clientX, y: event.clientY});\n return;\n }\n if(event.button === 1 && event.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerDown\", {x: event.clientX, y: event.clientY});\n return;\n }\n }\n\n pointerUpHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const e = eventObject.evt;\n if(e.button === 0 && e.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerUp\", {x: e.clientX, y: e.clientY});\n return;\n }\n if(e.button === 1 && e.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerUp\", {x: e.clientX, y: e.clientY});\n return;\n }\n }\n\n pointerMoveHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const e = eventObject.evt;\n if((e.buttons === 1) && e.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerMove\", {x: e.clientX, y: e.clientY});\n return;\n }\n if((e.buttons === 4) && e.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerMove\", {x: e.clientX, y: e.clientY});\n return;\n }\n this.processEvent(\"pointerMove\", {x: e.clientX, y: e.clientY});\n }\n\n scrollHandler(eventObject: KonvaEventObject<WheelEvent, Stage>){\n const e = eventObject.evt;\n if(e.ctrlKey){\n this.processEvent(\"scrollWithCtrl\", {x: e.clientX, y: e.clientY, deltaX: e.deltaX, deltaY: e.deltaY});\n } else {\n this.processEvent(\"scroll\", {x: e.clientX, y: e.clientY, deltaX: e.deltaX, deltaY: e.deltaY});\n }\n }\n\n keydownHandler(event: KeyboardEvent){\n if(this._keyfirstPressed.has(event.key)){\n return;\n }\n this._keyfirstPressed.set(event.key, true);\n if(event.key === \" \"){\n this.processEvent(\"spacebarDown\");\n }\n }\n\n keyupHandler(event: KeyboardEvent){\n if(this._keyfirstPressed.has(event.key)){\n this._keyfirstPressed.delete(event.key);\n }\n if(event.key === \" \"){\n this.processEvent(\"spacebarUp\");\n }\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "A936ABE444886BE564756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { KonvaEventObject } from "konva/lib/Node";
|
|
2
|
+
import { Stage } from "konva/lib/Stage";
|
|
3
|
+
import { InputOrchestrator, KmtInputStateMachine } from "@ue-too/board";
|
|
4
|
+
export declare class KonvaInputParser {
|
|
5
|
+
private _stage;
|
|
6
|
+
private _kmtInputStateMachine;
|
|
7
|
+
private _inputOrchestrator;
|
|
8
|
+
private _keyfirstPressed;
|
|
9
|
+
private _abortController;
|
|
10
|
+
constructor(stage: Stage, kmtInputStateMachine: KmtInputStateMachine, inputOrchestrator: InputOrchestrator);
|
|
11
|
+
bindFunctions(): void;
|
|
12
|
+
setUp(): void;
|
|
13
|
+
tearDown(): void;
|
|
14
|
+
private processEvent;
|
|
15
|
+
pointerDownHandler(eventObject: KonvaEventObject<PointerEvent, Stage>): void;
|
|
16
|
+
pointerUpHandler(eventObject: KonvaEventObject<PointerEvent, Stage>): void;
|
|
17
|
+
pointerMoveHandler(eventObject: KonvaEventObject<PointerEvent, Stage>): void;
|
|
18
|
+
scrollHandler(eventObject: KonvaEventObject<WheelEvent, Stage>): void;
|
|
19
|
+
keydownHandler(event: KeyboardEvent): void;
|
|
20
|
+
keyupHandler(event: KeyboardEvent): void;
|
|
21
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ue-too/board-konva-integration",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.12.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/ue-too/ue-too.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/ue-too/ue-too",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./index.d.ts",
|
|
17
|
+
"import": "./index.js",
|
|
18
|
+
"default": "./index.js"
|
|
19
|
+
},
|
|
20
|
+
"./package.json": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
"main": "./index.js",
|
|
23
|
+
"types": "./index.d.ts",
|
|
24
|
+
"module": "./index.js",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@ue-too/board": "^0.12.0",
|
|
27
|
+
"@ue-too/being": "^0.12.0",
|
|
28
|
+
"@ue-too/math": "^0.12.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"konva": "10.0.12"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"konva": "10.0.12"
|
|
35
|
+
}
|
|
36
|
+
}
|