void onItemEditStarted(@Observes NavItemEditStartedEvent event) { currentlyEditedItem.filter(e -> !e.equals(event.getNavItemEditor())).ifPresent(NavItemEditor::cancelEdition); currentlyEditedItem = Optional.of(event.getNavItemEditor()); }
@Override public void navItemClicked(NavItem navItem) { if (navController.canRead(navItem)) { navItemGotoEvent.fire(new NavItemGotoEvent(navItem)); } } }
void onNavTreeLoaded(@Observes NavTreeLoadedEvent event) { NavTree navTree = event.getNavTree(); navTreeEditor.edit(navTree); }
@Test public void testCancelLastEditedItem() { NavItemEditor navItemEditorA = mock(NavItemEditor.class); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditorA)); assertEquals(navTreeEditor.getCurrentlyEditedItem(), navItemEditorA); // No need for cancel if the same item is edited again navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditorA)); verify(navItemEditorA, never()).cancelEdition(); // Last edited item must be cancelled NavItemEditor navItemEditorB = mock(NavItemEditor.class); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditorB)); assertEquals(navTreeEditor.getCurrentlyEditedItem(), navItemEditorB); verify(navItemEditorA).cancelEdition(); }
@Override public void init(Command afterInit) { navServices.call((NavTree n) -> { navTree = n; if (afterInit != null) { afterInit.execute(); } navTreeLoadedEvent.fire(new NavTreeLoadedEvent(getNavTree())); }).loadNavTree(); }
public void onPlugInAdded(@Observes final PluginAdded event) { Plugin plugin = event.getPlugin(); if (isRuntimePerspective(plugin)) { pluginMap.put(plugin.getName(), plugin); perspectivesChangedEvent.fire(new PerspectivePluginsChangedEvent()); } }
@Override public void saveNavTree(NavTree newTree, Command afterSave) { navServices.call((Void v) -> { navTree = newTree; navTreeChangedEvent.fire(new NavTreeChangedEvent(newTree)); if (afterSave != null) { afterSave.execute(); } }).saveNavTree(newTree); }
@Test public void itShouldBeImpossibleToOpenMultipleNavItemEditorInputs() { // DASHBUILDE-217 NavTree tree = NavFactory.get().createNavTree(); navTreeEditor.edit(tree); NavItemEditor first = mock(NavItemEditor.class); NavItemEditor second = mock(NavItemEditor.class); NavItem firstItem = mock(NavItem.class); when(first.getNavItem()).thenReturn(firstItem); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(first)); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(second)); verify(first).cancelEdition(); }
@Override public void init(Command afterInit) { navServices.call((NavTree n) -> { navTree = n; if (afterInit != null) { afterInit.execute(); } navTreeLoadedEvent.fire(new NavTreeLoadedEvent(getNavTree())); }).loadNavTree(); }
@Test public void testOnPerspectivesChanged() { navigationExplorerScreen.init(); navigationExplorerScreen.onPerspectivesChanged(new PerspectivePluginsChangedEvent()); verify(navTreeEditor).edit(any(NavTree.class)); } }
@Override public void navItemClicked(NavItem navItem) { if (navController.canRead(navItem)) { navItemGotoEvent.fire(new NavItemGotoEvent(navItem)); } } }
void onNavTreeLoaded(@Observes NavTreeLoadedEvent event) { NavTree navTree = event.getNavTree(); navTreeEditor.edit(navTree); }
void onItemEditStarted(@Observes NavItemEditStartedEvent event) { currentlyEditedItem.filter(e -> !e.equals(event.getNavItemEditor())).ifPresent(NavItemEditor::cancelEdition); currentlyEditedItem = Optional.of(event.getNavItemEditor()); }
@Override public void saveNavTree(NavTree newTree, Command afterSave) { navServices.call((Void v) -> { navTree = newTree; navTreeChangedEvent.fire(new NavTreeChangedEvent(newTree)); if (afterSave != null) { afterSave.execute(); } }).saveNavTree(newTree); }
@Test public void testCancelLastEditedItem() { NavItemEditor navItemEditorA = mock(NavItemEditor.class); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditorA)); assertEquals(navTreeEditor.getCurrentlyEditedItem(), navItemEditorA); // No need for cancel if the same item is edited again navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditorA)); verify(navItemEditorA, never()).cancelEdition(); // Last edited item must be cancelled NavItemEditor navItemEditorB = mock(NavItemEditor.class); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditorB)); assertEquals(navTreeEditor.getCurrentlyEditedItem(), navItemEditorB); verify(navItemEditorA).cancelEdition(); }
@Test public void testOnNavTreeLoaded() { navigationExplorerScreen.init(); navigationExplorerScreen.onNavTreeLoaded(new NavTreeLoadedEvent(navTree)); verify(navTreeEditor).edit(navTree); }
@Test public void testOnPerspectivesChanged() { navigationExplorerScreen.init(); navigationExplorerScreen.onPerspectivesChanged(new PerspectivePluginsChangedEvent()); verify(navTreeEditor).edit(any(NavTree.class)); } }
@Test public void whenItemEditFinishedNavTreeEditorCleared() { navTreeEditor.edit(NAV_TREE); // When item editing starts the item is remembered in the tree NavItemEditor navItemEditor = navTreeEditor.newGroup(); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditor)); assertEquals(navItemEditor, navTreeEditor.currentlyEditedItem.get()); // When item editing finishes, it is cleaned from the navTreeEditor and view resets to "non-editing" state navItemEditor.onItemUpdated(); assertFalse(navTreeEditor.currentlyEditedItem.isPresent()); }
@Test public void testOnNavTreeLoaded() { navigationExplorerScreen.init(); navigationExplorerScreen.onNavTreeLoaded(new NavTreeLoadedEvent(navTree)); verify(navTreeEditor).edit(navTree); }
@Test public void whenItemEditFinishedNavTreeEditorCleared() { navTreeEditor.edit(NAV_TREE); // When item editing starts the item is remembered in the tree NavItemEditor navItemEditor = navTreeEditor.newGroup(); navTreeEditor.onItemEditStarted(new NavItemEditStartedEvent(navItemEditor)); assertEquals(navItemEditor, navTreeEditor.currentlyEditedItem.get()); // When item editing finishes, it is cleaned from the navTreeEditor and view resets to "non-editing" state navItemEditor.onItemUpdated(); assertFalse(navTreeEditor.currentlyEditedItem.isPresent()); }