String openTypeStr = descriptor.attributeValue("openType"); if (StringUtils.isNotEmpty(openTypeStr)) { openType = WindowManager.OpenType.valueOf(openTypeStr); if (openType.getOpenMode() == OpenMode.DIALOG) { String resizable = descriptor.attributeValue("resizable"); if (StringUtils.isNotEmpty(resizable)) { openType = openType.resizable(Boolean.parseBoolean(resizable)); Screen screen = screens.create(screenId, openType.getOpenMode(), new MapScreenOptions(params)); screens.showFromNavigation(screen);
resultComponent.setOpenType(WindowManager.OpenType.valueOf(openType));
openType.getOpenMode(), new MapScreenOptions(params));
resultComponent.setOpenType(OpenType.valueOf(openType));
String openTypeAttribute = column.getXmlDescriptor().attributeValue("linkScreenOpenType"); if (StringUtils.isNotEmpty(openTypeAttribute)) { screenOpenType = OpenType.valueOf(openTypeAttribute);
if (openType.getOpenMode() == OpenMode.DIALOG) { ThemeConstantsManager themeManager = AppBeans.get(ThemeConstantsManager.NAME); ThemeConstants theme = themeManager.getConstants(); openType = openType.copy() .width(theme.get("cuba.gui.BulkEditAction.editorDialog.width")) .height(theme.get("cuba.gui.BulkEditAction.editorDialog.height")) .resizable(true);
component.setLookupOpenMode(OpenType.valueOf(openType));
openType = WindowManager.OpenType.valueOf(openTypeString); } catch (IllegalArgumentException e) { throw new GuiDevelopmentException(
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; }
protected void openWindow(WindowInfo windowInfo, ExternalLinkContext linkContext) { Map<String, String> requestParams = linkContext.getRequestParams(); App app = linkContext.getApp(); String itemStr = requestParams.get("item"); String openTypeParam = requestParams.get("openType"); OpenType openType = OpenType.NEW_TAB; if (StringUtils.isNotEmpty(openTypeParam)) { try { openType = OpenType.valueOf(openTypeParam); } catch (IllegalArgumentException e) { log.warn("Unknown open type ({}) in request parameters", openTypeParam); } } if (itemStr == null) { app.getWindowManager().openWindow(windowInfo, openType, getParamsMap(requestParams)); } else { EntityLoadInfo info = EntityLoadInfo.parse(itemStr); if (info == null) { log.warn("Invalid item definition: {}", itemStr); } else { Entity entity = loadEntityInstance(info); if (entity != null) app.getWindowManager().openEditor(windowInfo, entity, openType, getParamsMap(requestParams)); else throw new EntityAccessException(); } } }
@Deprecated protected void applyOpenTypeParameters(Window window, OpenType openType) { if (window instanceof DialogWindow) { DialogWindow dialogWindow = (DialogWindow) window; if (openType.getCloseOnClickOutside() != null) { dialogWindow.setCloseOnClickOutside(openType.getCloseOnClickOutside()); } if (openType.getMaximized() != null) { dialogWindow.setWindowMode(openType.getMaximized() ? DialogWindow.WindowMode.MAXIMIZED : DialogWindow.WindowMode.NORMAL); } if (openType.getModal() != null) { dialogWindow.setModal(openType.getModal()); } if (openType.getResizable() != null) { dialogWindow.setResizable(openType.getResizable()); } if (openType.getWidth() != null) { dialogWindow.setDialogWidth(openType.getWidthString()); } if (openType.getHeight() != null) { dialogWindow.setDialogHeight(openType.getHeightString()); } } if (openType.getCloseable() != null) { window.setCloseable(openType.getCloseable()); } }
@Deprecated protected void applyOpenTypeParameters(Window window, OpenType openType) { if (window instanceof DialogWindow) { DialogWindow dialogWindow = (DialogWindow) window; if (openType.getCloseOnClickOutside() != null) { dialogWindow.setCloseOnClickOutside(openType.getCloseOnClickOutside()); } if (openType.getMaximized() != null) { dialogWindow.setWindowMode(openType.getMaximized() ? WindowMode.MAXIMIZED : WindowMode.NORMAL); } if (openType.getModal() != null) { dialogWindow.setModal(openType.getModal()); } if (openType.getResizable() != null) { dialogWindow.setResizable(openType.getResizable()); } if (openType.getWidth() != null) { dialogWindow.setDialogWidth(openType.getWidthString()); } if (openType.getHeight() != null) { dialogWindow.setDialogHeight(openType.getHeightString()); } } if (openType.getCloseable() != null) { window.setCloseable(openType.getCloseable()); } }
@Override public void onApplicationEvent(AppLoggedInEvent event) { App app = event.getApp(); Connection connection = app.getConnection(); if (connection.isAuthenticated() && !isLoggedInWithExternalAuth(connection.getSessionNN())) { User user = connection.getSessionNN().getUser(); // Change password on logon if (Boolean.TRUE.equals(user.getChangePasswordAtNextLogon())) { WindowManager wm = app.getWindowManager(); for (Window window : wm.getOpenWindows()) { window.setEnabled(false); } WindowInfo changePasswordDialog = windowConfig.getWindowInfo("sec$User.changePassword"); Window changePasswordWindow = wm.openWindow(changePasswordDialog, WindowManager.OpenType.DIALOG.closeable(false), ParamsMap.of("cancelEnabled", Boolean.FALSE)); changePasswordWindow.addCloseListener(actionId -> { for (Window window : wm.getOpenWindows()) { window.setEnabled(true); } }); } } } }
protected void setLinkFieldAttributes(EntityLinkField linkField, ComponentGenerationContext context) { Element xmlDescriptor = context.getXmlDescriptor(); if (xmlDescriptor != null) { String linkScreen = xmlDescriptor.attributeValue("linkScreen"); if (StringUtils.isNotEmpty(linkScreen)) { linkField.setScreen(linkScreen); } String invokeMethodName = xmlDescriptor.attributeValue("linkInvoke"); if (StringUtils.isNotEmpty(invokeMethodName)) { linkField.setCustomClickHandler(new InvokeEntityLinkClickHandler(invokeMethodName)); } String openTypeAttribute = xmlDescriptor.attributeValue("linkScreenOpenType"); if (StringUtils.isNotEmpty(openTypeAttribute)) { OpenType openType = OpenType.valueOf(openTypeAttribute); linkField.setScreenOpenType(openType); } } }
protected void loadActionOpenType(Action action, Element element) { if (action instanceof Action.HasOpenType) { String openTypeString = element.attributeValue("openType"); if (StringUtils.isNotEmpty(openTypeString)) { WindowManager.OpenType openType; try { openType = WindowManager.OpenType.valueOf(openTypeString); } catch (IllegalArgumentException e) { throw new GuiDevelopmentException( String.format("Unknown open type: '%s' for action: '%s'", openTypeString, action.getId()), context.getFullFrameId()); } ((Action.HasOpenType) action).setOpenType(openType); } } } }
@SuppressWarnings({"unchecked", "deprecation", "IncorrectCreateGuiComponent"}) @Override public Window.Editor openEditor(WindowInfo windowInfo, Entity item, OpenType openType, Map<String, Object> params, Datasource parentDs) { params = createParametersMap(windowInfo, params); params.put(WindowParams.ITEM.name(), item); MapScreenOptions options = new MapScreenOptions(params); Screen screen = createScreen(windowInfo, openType.getOpenMode(), options); applyOpenTypeParameters(screen.getWindow(), openType); EditorScreen editorScreen = (EditorScreen) screen; if (editorScreen instanceof AbstractEditor) { ((AbstractEditor) editorScreen).setParentDs(parentDs); } editorScreen.setEntityToEdit(item); show(screen); return screen instanceof Window.Editor ? (Window.Editor) screen : new ScreenEditorWrapper(screen); }
@SuppressWarnings({"unchecked", "deprecation", "IncorrectCreateGuiComponent"}) @Override public Window.Editor openEditor(WindowInfo windowInfo, Entity item, OpenType openType, Datasource parentDs) { Map<String, Object> params = createParametersMap(windowInfo, Collections.singletonMap(WindowParams.ITEM.name(), item) ); MapScreenOptions options = new MapScreenOptions(params); Screen screen = createScreen(windowInfo, openType.getOpenMode(), options); applyOpenTypeParameters(screen.getWindow(), openType); EditorScreen editorScreen = (EditorScreen) screen; if (editorScreen instanceof AbstractEditor) { ((AbstractEditor) editorScreen).setParentDs(parentDs); } editorScreen.setEntityToEdit(item); show(screen); return screen instanceof Window.Editor ? (Window.Editor) screen : new ScreenEditorWrapper(screen); }
@SuppressWarnings({"unchecked", "deprecation", "IncorrectCreateGuiComponent"}) @Override public Window.Editor openEditor(WindowInfo windowInfo, Entity item, OpenType openType) { Map<String, Object> params = createParametersMap(windowInfo, Collections.singletonMap(WindowParams.ITEM.name(), item) ); MapScreenOptions options = new MapScreenOptions(params); Screen screen = createScreen(windowInfo, openType.getOpenMode(), options); applyOpenTypeParameters(screen.getWindow(), openType); EditorScreen editorScreen = (EditorScreen) screen; editorScreen.setEntityToEdit(item); show(screen); return screen instanceof Window.Editor ? (Window.Editor) screen : new ScreenEditorWrapper(screen); }
public OpenType copy() { OpenType openType = new OpenType(openMode); openType.setModal(modal); openType.setResizable(resizable); openType.setCloseable(closeable); openType.setHeight(height); openType.setHeightUnit(heightUnit); openType.setWidth(width); openType.setWidthUnit(widthUnit); openType.setCloseOnClickOutside(closeOnClickOutside); openType.setMaximized(maximized); openType.setPositionX(positionX); openType.setPositionY(positionY); return openType; } }
@SuppressWarnings({"deprecation", "unchecked", "IncorrectCreateGuiComponent"}) @Override public Window.Lookup openLookup(WindowInfo windowInfo, Window.Lookup.Handler handler, OpenType openType) { Map<String, Object> params = createParametersMap(windowInfo, Collections.emptyMap()); MapScreenOptions options = new MapScreenOptions(params); Screen screen = createScreen(windowInfo, openType.getOpenMode(), options); applyOpenTypeParameters(screen.getWindow(), openType); ((LookupScreen) screen).setSelectHandler(new SelectHandlerAdapter(handler)); show(screen); return screen instanceof Window.Lookup ? (Window.Lookup) screen : new ScreenLookupWrapper(screen); }