Skip to content

Commit 14e04fe

Browse files
committed
Updated dependencies
1 parent c6aa675 commit 14e04fe

8 files changed

Lines changed: 37 additions & 31 deletions

File tree

.classpath

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<classpathentry kind="lib" path="lib/javax.servlet-api.jar"/>
1010
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/activation.jar"/>
1111
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/dtd.jar"/>
12-
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/sqlite-jdbc-3.43.0.0.jar"/>
1312
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/javax.mail.jar"/>
1413
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/json.jar"/>
1514
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/jsoup.jar"/>
1615
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/mapdb.jar"/>
1716
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/openxliff.jar"/>
1817
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/xmljava.jar"/>
1918
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/swordfish.jar"/>
19+
<classpathentry kind="lib" path="WebContent/WEB-INF/lib/sqlite-jdbc-3.45.3.0.jar"/>
2020
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
2121
</classpath>
67 KB
Binary file not shown.
4.82 KB
Binary file not shown.
12.6 MB
Binary file not shown.
186 Bytes
Binary file not shown.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
"url": "https://github.com/rmraya/RemoteTM.git"
1212
},
1313
"devDependencies": {
14-
"typescript": "^5.2.2"
14+
"typescript": "^5.4.2"
1515
},
1616
"scripts": {
1717
"build": "tsc"
1818
},
1919
"dependencies": {
20-
"@types/node": "^20.11.20",
20+
"@types/node": "^20.11.25",
2121
"esbuild": "^0.20.1"
2222
}
2323
}

ts/dialog.ts

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ export class Dialog {
2525
closeLink: HTMLAnchorElement;
2626
closeAction: Function;
2727

28-
mouseStartX: number;
29-
mouseStartY: number;
30-
dialogTop: number;
31-
dialogLeft: number;
32-
3328
backdrop: HTMLDivElement;
3429

3530
constructor(width: number) {
@@ -40,13 +35,12 @@ export class Dialog {
4035

4136
this.id = 'dia' + (Math.random() * 10000000);
4237
this.dialog = document.createElement('div');
38+
this.dialog.id = this.id;
4339
this.dialog.classList.add('dialog');
4440
this.dialog.classList.add('hidden');
4541
this.dialog.style.zIndex = (102 + (2 * RemoteTM.dialogCount())) + '';
4642
this.dialog.draggable = true;
4743
this.dialog.addEventListener('dragstart', (ev: DragEvent) => { this.dragStart(ev); });
48-
this.dialog.addEventListener('drag', (ev: DragEvent) => { this.drag(ev); });
49-
this.dialog.addEventListener('dragend', (ev: DragEvent) => { this.dragEnd(ev); })
5044
this.center(width);
5145
document.body.appendChild(this.dialog);
5246

@@ -139,30 +133,18 @@ export class Dialog {
139133
}
140134

141135
dragStart(event: DragEvent) {
142-
this.mouseStartX = event.clientX;
143-
this.mouseStartY = event.clientY;
144-
this.dialogTop = this.dialog.offsetTop;
145-
this.dialogLeft = this.dialog.offsetLeft;
146-
if (this.mouseStartY > this.dialogTop + this.titleArea.clientHeight) {
136+
if (event.clientY > this.dialog.offsetTop + this.titleArea.clientHeight) {
147137
event.preventDefault();
148138
event.stopPropagation();
149139
}
150-
}
151-
152-
drag(event: DragEvent) {
153-
event.preventDefault();
154-
event.stopPropagation();
155-
if (event.clientX === 0 && event.clientY === 0) {
156-
return;
140+
if (event.dataTransfer) {
141+
event.dataTransfer.setData("id", this.id);
142+
const boundingRect = this.dialog.getBoundingClientRect();
143+
const offset = {
144+
x: event.clientX - boundingRect.left,
145+
y: event.clientY - boundingRect.top,
146+
};
147+
event.dataTransfer.setData("offset", JSON.stringify(offset));
157148
}
158-
this.dialog.style.left = (this.dialogLeft - this.mouseStartX + event.clientX) + 'px';
159-
this.dialog.style.top = (this.dialogTop - this.mouseStartY + event.clientY) + 'px';
160-
}
161-
162-
dragEnd(event: DragEvent) {
163-
event.preventDefault();
164-
event.stopPropagation();
165-
this.dialog.style.left = (this.dialogLeft - this.mouseStartX + event.clientX) + 'px';
166-
this.dialog.style.top = (this.dialogTop - this.mouseStartY + event.clientY) + 'px';
167149
}
168150
}

ts/remotetm.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,30 @@ export class RemoteTM {
5454
this.resize();
5555
});
5656

57+
document.documentElement.addEventListener("dragover", (event: DragEvent) => {
58+
event.preventDefault();
59+
if (event.dataTransfer) {
60+
event.dataTransfer.dropEffect = "move";
61+
}
62+
});
63+
64+
document.documentElement.addEventListener("drop", (event: DragEvent) => {
65+
event.preventDefault();
66+
if (event.dataTransfer) {
67+
let id: string = event.dataTransfer.getData("id");
68+
if (id) {
69+
let element: HTMLElement | null = document.getElementById(id);
70+
if (element && element.classList.contains('dialog')) {
71+
const offset: any = JSON.parse(event.dataTransfer.getData("offset"));
72+
const xPos: number = event.clientX - parseInt(offset.x);
73+
const yPos: number = event.clientY - parseInt(offset.y);
74+
element.style.left = xPos + 'px';
75+
element.style.top = yPos + 'px';
76+
}
77+
}
78+
}
79+
});
80+
5781
if (code) {
5882
this.showReset(code);
5983
return;

0 commit comments

Comments
 (0)