Fix windows dragging
This commit is contained in:
parent
06a87af35b
commit
0a8e438d4d
@ -38,9 +38,12 @@ class Finder{
|
||||
})
|
||||
|
||||
if (!WebDesktopEnvironment.isMobile){
|
||||
let scrollBar = new WdeScrollBar(newWindow.children[1].children[1], newWindow.children[1].children[0])// TODO to querry selector
|
||||
// let scrollBar = new WdeScrollBar(newWindow.children[1].children[1], newWindow.children[1].children[0])// TODO to querry selector
|
||||
console.log(newWindow.querySelector("#closeWindowButton"))
|
||||
newWindow.querySelector("#closeWindowButton").addEventListener('click', function (params) {
|
||||
|
||||
WebDesktopEnvironment.CloseWindow(newWindow)
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
|
@ -205,13 +205,41 @@ var getJSON = function(url, callback) {
|
||||
class WindowsCompositor{
|
||||
windowLayer = undefined
|
||||
movingElement = null
|
||||
xPosInit = 0
|
||||
yPosInit = 0
|
||||
// xPosInit = 0
|
||||
// yPosInit = 0
|
||||
|
||||
//TODO refactor this to dynamic add/remove listeners
|
||||
constructor(){
|
||||
this.windowLayer = document.body.querySelector('#windows-layer')
|
||||
// if (!WebDesktopEnvironment.isMobile) {
|
||||
if (!WebDesktopEnvironment.isMobile) {
|
||||
let startDrag = function(event) {
|
||||
let targetClasses = event.target.className.split(' ')
|
||||
if (targetClasses[targetClasses.length - 1] != 'DragArea'){
|
||||
return
|
||||
}
|
||||
// if (event.target.event.target.className != "DragArea"){}
|
||||
let xPosInit = event.offsetX
|
||||
let yPosInit = event.offsetY
|
||||
let window = event.target.closest('.StandartApplicationWindow')
|
||||
let dragWindow = function(event){
|
||||
// console.log(window)
|
||||
// console.log(event.clientX)
|
||||
// console.log(event.clientX - xPosInit, event.clientY - yPosInit)
|
||||
WindowsCompositor.dragElement(window,event.clientX - xPosInit, event.clientY - yPosInit)
|
||||
}
|
||||
let stopDrag = function(){
|
||||
removeEventListener('mousemove', dragWindow)
|
||||
removeEventListener('mouseup', stopDrag)
|
||||
}
|
||||
|
||||
addEventListener('mousemove', dragWindow)
|
||||
addEventListener('mouseup', stopDrag)
|
||||
// console.log(event)
|
||||
}
|
||||
|
||||
this.windowLayer.addEventListener('mousedown', startDrag)
|
||||
}
|
||||
|
||||
if (false) { //FIXME
|
||||
addEventListener("mousedown", (event) => {
|
||||
this.xPosInit = event.offsetX
|
||||
@ -262,8 +290,14 @@ class WindowsCompositor{
|
||||
* @param {number} posX
|
||||
* @param {number} posY
|
||||
*/
|
||||
dragElement(element, posX, posY) { //TODO
|
||||
static dragElement(element, posX, posY) { //TODO
|
||||
element.style.left = `${posX}px`
|
||||
element.style.top = `${posY}px`
|
||||
}
|
||||
|
||||
startDrag(){
|
||||
this.windowLayer.addEventListener('mousemove', () => {
|
||||
console.log("move")
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{{ define "finder/app.tmpl" }}
|
||||
<div id="TestWindowHeader" class="WindowFrameTopBar">
|
||||
<div id="TestWindowHeader" class="WindowFrameTopBar DragArea">
|
||||
<button id="closeWindowButton" class="WindowFrameTopBarButton" title="Close Window"></button>
|
||||
<div id="Drag" class="WindowDragArea"></div>
|
||||
<div class="WindowFrameTitle">
|
||||
|
Loading…
Reference in New Issue
Block a user