From 1bc25d8a9a5ff76e79bc3d54a88319fcacdbbbee Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Sun, 20 Nov 2022 15:05:35 +0100 Subject: [PATCH] Improve styling of dragImage #309 --- .../components/input-elements/drop-list.component.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/projects/common/components/input-elements/drop-list.component.ts b/projects/common/components/input-elements/drop-list.component.ts index ff617599c..c8249ea95 100644 --- a/projects/common/components/input-elements/drop-list.component.ts +++ b/projects/common/components/input-elements/drop-list.component.ts @@ -106,7 +106,7 @@ export class DropListComponent extends FormElementComponent implements OnInit, A if (dragEvent.dataTransfer) { dragEvent.dataTransfer.effectAllowed = 'copyMove'; dragEvent.dataTransfer.setDragImage( - DropListComponent.createDragImage(dragEvent.target as Node, dropListValueElement.id), 0, 0); + this.createDragImage(dragEvent.target as HTMLElement, dropListValueElement.id), 0, 0); } // Sadly timeout is necessary for Chrome, which does not allow DOM manipulation on dragstart @@ -135,10 +135,14 @@ export class DropListComponent extends FormElementComponent implements OnInit, A }); } - static createDragImage(baseElement: Node, baseID: string): HTMLElement { + createDragImage(baseElement: HTMLElement, baseID: string): HTMLElement { const dragImage: HTMLElement = baseElement.cloneNode(true) as HTMLElement; dragImage.id = `${baseID}-dragimage`; - dragImage.style.display = 'inline-block'; + dragImage.style.display = 'block'; + dragImage.style.width = `${(baseElement as HTMLElement).offsetWidth}px`; + dragImage.style.fontSize = `${this.elementModel.styling.fontSize}px`; + dragImage.style.borderRadius = '5px'; + dragImage.style.padding = '10px'; document.body.appendChild(dragImage); return dragImage; } -- GitLab