diff --git a/src/main/java/components/interviewSelector/InterviewSelectorCell.java b/src/main/java/components/interviewSelector/InterviewSelectorCell.java index 2400443e..80398ab3 100644 --- a/src/main/java/components/interviewSelector/InterviewSelectorCell.java +++ b/src/main/java/components/interviewSelector/InterviewSelectorCell.java @@ -53,7 +53,7 @@ public void updateItem(Interview item, boolean empty) { InterviewSelectorCellController newController = new InterviewSelectorCellController(item, this, commandFactory); loader.setController(newController); controller = newController; - + //setOnMousePressed(e->e.consume()); //Mouse click event setOnMouseClicked(event -> { commandFactory.selectCurrentInterview(item, true).execute(); @@ -113,20 +113,29 @@ private void addDragAndDrop(InterviewSelectorCellController newController) { int thisIdx = items.indexOf(getItem()); int newPosition; Section section = this.mouseIsDraggingOn(event.getY()); - if (section == Section.top && thisIdx != 0) { - newPosition = thisIdx - 1; - } else { - newPosition = thisIdx; + //keep track of selected and target interview before the remove + Interview targetInterview= items.get(thisIdx); + Interview selectedInterview=items.get(selectedInterviewIndex); + Interview draggedInterview = items.remove(draggedIdx); + int newTargetIndex= items.indexOf(targetInterview); + System.out.println(newTargetIndex); + if (section == Section.top) { + newPosition = newTargetIndex; + }else { + newPosition = newTargetIndex+1; } // items.set(draggedIdx, getItem()); // items.set(thisIdx, DragStore.getDraggable()); // this.getListView().setItems(items); - Interview selectedInterview = items.remove(draggedIdx); - items.add(newPosition, selectedInterview); + + + + items.add(newPosition, draggedInterview); if (selectedInterviewIndex == draggedIdx) { this.getListView().getSelectionModel().select(newPosition); selectedInterviewIndex = newPosition; } else { + selectedInterviewIndex=items.indexOf(selectedInterview); this.getListView().getSelectionModel().select(selectedInterviewIndex); } success = true; diff --git a/src/main/resources/images/interview-7092be.png b/src/main/resources/images/interview-7092be.png index 84bb8158..6fdd1269 100644 Binary files a/src/main/resources/images/interview-7092be.png and b/src/main/resources/images/interview-7092be.png differ diff --git a/src/main/resources/images/interview-8671cd.png b/src/main/resources/images/interview-8671cd.png index 4d5f8ec9..329db51d 100644 Binary files a/src/main/resources/images/interview-8671cd.png and b/src/main/resources/images/interview-8671cd.png differ diff --git a/src/main/resources/images/interview-b5e61d.png b/src/main/resources/images/interview-b5e61d.png index e537cbce..f1e01cd6 100644 Binary files a/src/main/resources/images/interview-b5e61d.png and b/src/main/resources/images/interview-b5e61d.png differ diff --git a/src/main/resources/images/interview-b97a57.png b/src/main/resources/images/interview-b97a57.png index 48356211..f7d2ca23 100644 Binary files a/src/main/resources/images/interview-b97a57.png and b/src/main/resources/images/interview-b97a57.png differ diff --git a/src/main/resources/images/interview-f15252.png b/src/main/resources/images/interview-f15252.png index 85ccb7fd..e12b152e 100644 Binary files a/src/main/resources/images/interview-f15252.png and b/src/main/resources/images/interview-f15252.png differ diff --git a/src/main/resources/images/interview-ffaec9.png b/src/main/resources/images/interview-ffaec9.png index 1fb45e41..80f1ae8d 100644 Binary files a/src/main/resources/images/interview-ffaec9.png and b/src/main/resources/images/interview-ffaec9.png differ diff --git a/src/main/resources/images/interview-ffc90e.png b/src/main/resources/images/interview-ffc90e.png index d4742853..b7f884bc 100644 Binary files a/src/main/resources/images/interview-ffc90e.png and b/src/main/resources/images/interview-ffc90e.png differ