@Override public void init(final DynamicMenuEditorPresenter presenter) { this.presenter = presenter; driver.initialize(this); setMenuItem(new DynamicMenuItem()); initTable(menuItems); }
@UiHandler("cancelButton") public void onCancel(ClickEvent e) { setMenuItem(new DynamicMenuItem()); selectionModel.clear(); }
@UiHandler("cancelButton") public void onCancel(ClickEvent e) { setMenuItem(new DynamicMenuItem()); selectionModel.clear(); }
@Override public void init(final DynamicMenuEditorPresenter presenter) { this.presenter = presenter; driver.initialize(this); setMenuItem(new DynamicMenuItem()); initTable(menuItems); }
private Collection<DynamicMenuItem> loadMenuItems(String pluginName) { final Collection<DynamicMenuItem> result = new ArrayList<DynamicMenuItem>(); final Path menuItemsPath = getMenuItemsPath(getPluginPath(pluginName)); if (getIoService().exists(menuItemsPath)) { final List<String> value = getIoService().readAllLines(menuItemsPath); for (final String s : value) { final String[] items = s.split(MENU_ITEM_DELIMITER); if (items.length == 2) { result.add(new DynamicMenuItem(items[0], items[1])); } } } return result; }
@Override public void onSelectionChange(SelectionChangeEvent event) { //ListDataProvider raises this event with a null item when a item is removed if (selectionModel.getSelectedObject() == null) { editedItem = null; setMenuItem(new DynamicMenuItem()); } else { editedItem = selectionModel.getSelectedObject(); setMenuItem(new DynamicMenuItem(selectionModel.getSelectedObject().getActivityId(), selectionModel.getSelectedObject().getMenuLabel())); } } });
@Override public void onSelectionChange(SelectionChangeEvent event) { //ListDataProvider raises this event with a null item when a item is removed if (selectionModel.getSelectedObject() == null) { editedItem = null; setMenuItem(new DynamicMenuItem()); } else { editedItem = selectionModel.getSelectedObject(); setMenuItem(new DynamicMenuItem(selectionModel.getSelectedObject().getActivityId(), selectionModel.getSelectedObject().getMenuLabel())); } } });
@Before public void setup() { view = mock(DynamicMenuEditorPresenter.View.class); presenter = spy(createDynamicMenuEditorPresenter()); when(view.emptyActivityID()).thenReturn("e1"); when(view.invalidActivityID()).thenReturn("e2"); when(view.emptyMenuLabel()).thenReturn("e3"); when(view.invalidMenuLabel()).thenReturn("e4"); when(view.duplicatedMenuLabel()).thenReturn("e5"); existingMenuItem = new DynamicMenuItem("existingActivityId", "existingMenuLabel"); }
@Before public void setup() { view = mock(DynamicMenuEditorPresenter.View.class); presenter = spy(createDynamicMenuEditorPresenter()); when(view.emptyActivityID()).thenReturn("e1"); when(view.invalidActivityID()).thenReturn("e2"); when(view.emptyMenuLabel()).thenReturn("e3"); when(view.invalidMenuLabel()).thenReturn("e4"); when(view.duplicatedMenuLabel()).thenReturn("e5"); existingMenuItem = new DynamicMenuItem("existingActivityId", "existingMenuLabel"); }
@Test public void validateNewMenuItemLabel() { RuleValidator labelValidator; labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem(null, null), null); assertFalse(labelValidator.isValid(null)); labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("", ""), null); assertFalse(labelValidator.isValid("")); labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("existingActivityId", "existingMenuLabel"), null); assertFalse(labelValidator.isValid("existingMenuLabel")); labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("newActivityId", "newMenuLabel"), null); assertTrue(labelValidator.isValid("newMenuLabel")); }
@Test public void validateNewMenuItemLabel() { RuleValidator labelValidator; labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem(null, null), null); assertFalse(labelValidator.isValid(null)); labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("", ""), null); assertFalse(labelValidator.isValid("")); labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("existingActivityId", "existingMenuLabel"), null); assertFalse(labelValidator.isValid("existingMenuLabel")); labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("newActivityId", "newMenuLabel"), null); assertTrue(labelValidator.isValid("newMenuLabel")); }
@UiHandler("okButton") public void onClick(ClickEvent e) { DynamicMenuItem menuItem = driver.flush(); if (isMenuItemValid(menuItem)) { if (editedItem != null) { editedItem.setActivityId(menuItem.getActivityId()); editedItem.setMenuLabel(menuItem.getMenuLabel()); menuItem = editedItem; } presenter.addMenuItem(menuItem); setMenuItem(new DynamicMenuItem()); selectionModel.clear(); } }
@UiHandler("okButton") public void onClick(ClickEvent e) { DynamicMenuItem menuItem = driver.flush(); if (isMenuItemValid(menuItem)) { if (editedItem != null) { editedItem.setActivityId(menuItem.getActivityId()); editedItem.setMenuLabel(menuItem.getMenuLabel()); menuItem = editedItem; } presenter.addMenuItem(menuItem); setMenuItem(new DynamicMenuItem()); selectionModel.clear(); } }
@Test public void validateEditedMenuItemLabel() { RuleValidator labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("existingActivityId", "existingMenuLabel"), existingMenuItem); assertTrue(labelValidator.isValid("newMenuLabel")); assertTrue(labelValidator.isValid("existingMenuLabel")); }
@Test public void validateEditedMenuItemLabel() { RuleValidator labelValidator = presenter.getMenuItemLabelValidator(new DynamicMenuItem("existingActivityId", "existingMenuLabel"), existingMenuItem); assertTrue(labelValidator.isValid("newMenuLabel")); assertTrue(labelValidator.isValid("existingMenuLabel")); }
@Test public void validateItemIndexes() { presenter = createDynamicMenuEditorPresenter(mock(DynamicMenuEditorPresenter.View.class)); firstMenuItem = new DynamicMenuItem("firstId", "firstLabel"); secondMenuItem = new DynamicMenuItem("secondId", "secondLabel"); presenter.addMenuItem(firstMenuItem); presenter.addMenuItem(secondMenuItem); presenter.updateIndex(firstMenuItem, 0, DynamicMenuEditorPresenter.UpdateIndexOperation.UP); checkMenuItemIndexes(0, 1); presenter.updateIndex(secondMenuItem, 1, DynamicMenuEditorPresenter.UpdateIndexOperation.DOWN); checkMenuItemIndexes(0, 1); presenter.updateIndex(firstMenuItem, 0, DynamicMenuEditorPresenter.UpdateIndexOperation.DOWN); checkMenuItemIndexes(1, 0); presenter.updateIndex(firstMenuItem, 1, DynamicMenuEditorPresenter.UpdateIndexOperation.UP); checkMenuItemIndexes(0, 1); }
@Test public void validateItemIndexes() { presenter = createDynamicMenuEditorPresenter(mock(DynamicMenuEditorPresenter.View.class)); firstMenuItem = new DynamicMenuItem("firstId", "firstLabel"); secondMenuItem = new DynamicMenuItem("secondId", "secondLabel"); presenter.addMenuItem(firstMenuItem); presenter.addMenuItem(secondMenuItem); presenter.updateIndex(firstMenuItem, 0, DynamicMenuEditorPresenter.UpdateIndexOperation.UP); checkMenuItemIndexes(0, 1); presenter.updateIndex(secondMenuItem, 1, DynamicMenuEditorPresenter.UpdateIndexOperation.DOWN); checkMenuItemIndexes(0, 1); presenter.updateIndex(firstMenuItem, 0, DynamicMenuEditorPresenter.UpdateIndexOperation.DOWN); checkMenuItemIndexes(1, 0); presenter.updateIndex(firstMenuItem, 1, DynamicMenuEditorPresenter.UpdateIndexOperation.UP); checkMenuItemIndexes(0, 1); }