@SuppressWarnings("unchecked") @Override public void actionPerform(Component component) { // if standard behaviour if (!hasSubscriptions(ActionPerformedEvent.class)) { Screen lookupScreen = screenBuilders.lookup(target) .build(); lookupScreen.show(); } else { super.actionPerform(component); } } }
@SuppressWarnings("unchecked") @Override public void actionPerform(Component component) { // if standard behaviour if (!hasSubscriptions(ActionPerformedEvent.class)) { MetaClass metaClass = pickerField.getMetaClass(); if (metaClass == null) { throw new DevelopmentException("Neither metaClass nor datasource/property is specified " + "for the PickerField", "action ID", getId()); } Screen lookupScreen = screenBuilders.lookup(pickerField) .build(); lookupScreen.show(); } else { // call action perform handlers from super, delegate execution super.actionPerform(component); } } }
protected Screen createLookupScreen(Runnable afterLookupSelect) { Class<V> entityClass = getLookupEntityClass(); OpenMode openMode = lookupOpenMode != null ? lookupOpenMode.getOpenMode() : OpenMode.DIALOG; Screen lookupScreen = screenBuilders.lookup(entityClass, getFrame().getFrameOwner()) .withScreenId(getLookupScreenInternal()) .withLaunchMode(openMode) .withOptions(new MapScreenOptions(getLookupScreenParamsInternal())) .withSelectHandler(selected -> { handleLookupSelection(selected); if (afterLookupSelect != null) { afterLookupSelect.run(); } }) .build(); if (lookupOpenMode != null) { applyOpenTypeParameters(lookupScreen.getWindow(), lookupOpenMode); } if (lookupScreen instanceof MultiSelectLookupScreen) { ((MultiSelectLookupScreen) lookupScreen).setLookupComponentMultiSelect(isMultiSelect()); } return lookupScreen; }