Skip to content

Commit

Permalink
fire controller events when TreeView selection changed
Browse files Browse the repository at this point in the history
  • Loading branch information
kirillp committed Sep 24, 2024
1 parent ade9b76 commit 4ba9e33
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.sudu.experiments.diff;

import org.sudu.experiments.js.JsFunctions;
import org.teavm.interop.NoSideEffects;
import org.teavm.jso.JSBody;
import org.teavm.jso.JSProperty;
Expand Down Expand Up @@ -36,11 +35,5 @@ public static JsFolderDiffSelection create(
? create(JSString.valueOf(s.path), s.isLeft, s.isFolder, s.isOrphan)
: null;
}

static FolderDiffRootView.SelectionListener toJava(
JsFunctions.Consumer<JsFolderDiffSelection> callback
) {
return s -> callback.f(create(s));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,4 @@ public interface JsRemoteFolderDiff extends JsFolderDiff {
JsDisposable onControllerUpdate(
JsFunctions.Consumer<JsDiffViewController> callback
);

@Deprecated
JsFolderDiffSelection getSelected();

@Deprecated
JsDisposable onSelectionChanged(
JsFunctions.Consumer<JsFolderDiffSelection> callback
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -115,21 +115,6 @@ public JsDisposable onControllerUpdate(
return JsDisposable.of(d);
}

@Override
public JsFolderDiffSelection getSelected() {
var s = folderDiff.getSelected();
return JsFolderDiffSelection.H.create(s);
}

@Override
public JsDisposable onSelectionChanged(
JsFunctions.Consumer<JsFolderDiffSelection> callback
) {
var h = JsFolderDiffSelection.H.toJava(callback);
var d = rootView().selectionListeners.disposableAdd(h);
return JsDisposable.of(d);
}

private FolderDiffRootView rootView() {
return folderDiff.rootView;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,7 @@ void leftSelectedChanged(int idx) {
rootView.right.clearSelection();
}
rootView.fireSelectionChanged(getSelected(true));
fireControllerEvent(controller);
}

void rightSelectedChanged(int idx) {
Expand All @@ -394,6 +395,7 @@ void rightSelectedChanged(int idx) {
rootView.left.clearSelection();
}
rootView.fireSelectionChanged(getSelected(false));
fireControllerEvent(controller);
}

String replaceSlashes(String path) {
Expand Down Expand Up @@ -451,6 +453,7 @@ public void refresh() {

void fireControllerEvent(JsDiffViewController source) {
var list = controllerListeners.array();
// System.out.println("RemoteFolderDiffWindow.fireControllerEvent: " + list.length + " listeners");
for (var listener : list) {
listener.onEvent(source);
}
Expand Down

0 comments on commit 4ba9e33

Please sign in to comment.