Advertisement
sourav8256

Untitled

Aug 3rd, 2023
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Simple BPM Canvas</title>
  5. <style>
  6. body {
  7. font-family: Arial, sans-serif;
  8. margin: 0;
  9. }
  10.  
  11. .left-panel {
  12. width: 100px;
  13. background-color: #f0f0f0;
  14. padding: 10px;
  15. float: left;
  16. }
  17.  
  18. .toolbar {
  19. margin-bottom: 10px;
  20. }
  21.  
  22. .toolbar div {
  23. width: 80px;
  24. height: 30px;
  25. border: 1px solid #ccc;
  26. background-color: #fff;
  27. margin-bottom: 10px;
  28. text-align: center;
  29. line-height: 30px;
  30. cursor: pointer;
  31. }
  32.  
  33. .canvas {
  34. width: 800px;
  35. height: 400px;
  36. margin: 20px auto;
  37. border: 1px solid #ccc;
  38. background-color: #f9f9f9;
  39. }
  40.  
  41. .bpm-element {
  42. position: absolute;
  43. background-color: #b3e0ff;
  44. border: 1px solid #007fff;
  45. padding: 5px;
  46. cursor: pointer;
  47. }
  48. </style>
  49. </head>
  50. <body>
  51. <div class="left-panel">
  52. <div class="toolbar">
  53. <div class="start-event" draggable="true" ondragstart="onDragStart(event)">Start</div>
  54. <div class="task" draggable="true" ondragstart="onDragStart(event)">Task 1</div>
  55. <div class="end-event" draggable="true" ondragstart="onDragStart(event)">End</div>
  56. </div>
  57. </div>
  58. <div class="canvas" id="canvas" ondrop="onDrop(event)" ondragover="onDragOver(event)"></div>
  59. <script>
  60. function onDragStart(event) {
  61. event.dataTransfer.setData("text/plain", event.target.innerText);
  62. }
  63.  
  64. function onDrop(event) {
  65. event.preventDefault();
  66. var data = event.dataTransfer.getData("text/plain");
  67. var bpmElement = document.createElement('div');
  68. bpmElement.classList.add('bpm-element');
  69. bpmElement.innerText = data;
  70. bpmElement.style.left = (event.clientX - event.target.offsetLeft) + 'px';
  71. bpmElement.style.top = (event.clientY - event.target.offsetTop) + 'px';
  72. event.target.appendChild(bpmElement);
  73. }
  74.  
  75. function onDragOver(event) {
  76. event.preventDefault();
  77. }
  78. </script>
  79. </body>
  80. </html>
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement