update
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { Component, useRef, useState } from "@odoo/owl";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { standardActionServiceProps } from "@web/webclient/actions/action_service";
|
||||
|
||||
class MovableDiv extends Component {
|
||||
static template = "movable-div";
|
||||
static components = {};
|
||||
static props = {
|
||||
...standardActionServiceProps,
|
||||
};
|
||||
|
||||
setup() {
|
||||
this.containerRef = useRef("container");
|
||||
|
||||
this.state = useState({
|
||||
cdLeft: 800,
|
||||
cdTop: 100,
|
||||
cLeft: 700,
|
||||
cTop: 100
|
||||
});
|
||||
|
||||
this.dragging = undefined;
|
||||
}
|
||||
|
||||
onMouseDown(event){
|
||||
if (event.target.classList.contains("diamond")){
|
||||
this.dragging = "cd";
|
||||
} else if (event.target.classList.contains("circle")){
|
||||
this.dragging = "c";
|
||||
}
|
||||
}
|
||||
|
||||
onMouseUp(event){
|
||||
this.dragging = undefined;
|
||||
}
|
||||
|
||||
onMouseMove(event){
|
||||
if (this.dragging === "cd"){
|
||||
this.state.cdLeft += event.movementX;
|
||||
this.state.cdTop += event.movementY;
|
||||
} else if (this.dragging === "c"){
|
||||
this.state.cLeft += event.movementX;
|
||||
this.state.cTop += event.movementY;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
registry.category("actions").add("movable_div", MovableDiv);
|
||||
|
||||
Reference in New Issue
Block a user