protected ScreenContext getScreenContext() { return UiControllerUtils.getScreenContext(screen); }
protected void loadDataBeforeShow(Screen screen) { LoadDataBeforeShow annotation = screen.getClass().getAnnotation(LoadDataBeforeShow.class); if (annotation != null && annotation.value()) { UiControllerUtils.getScreenData(screen).loadAll(); } }
/** * This method is called by the framework after opening the screen to apply user settings to all components. */ @Deprecated default void applySettings(Settings settings) { UiControllerUtils.applySettings(getFrameOwner(), settings); }
ScreenContext hostScreenContext = getScreenContext(hostController); setHostController(controller, hostController); setWindowId(controller, windowInfo.getId()); setFrame(controller, fragment); setScreenContext(controller, new ScreenContextImpl(windowInfo, parentContext.getOptions(), hostScreenContext.getScreens(), hostScreenContext.getUrlRouting()) ); setScreenData(controller, new ScreenDataImpl());
setHostController(controller, parent); setWindowId(controller, windowInfo.getId()); setFrame(controller, fragment); setScreenContext(controller, new ScreenContextImpl(windowInfo, options, ui.getScreens(), ui.getUrlRouting()) ); setScreenData(controller, new ScreenDataImpl()); Frame parentFrame = getFrame(parent); loaderContext.setFrame(fragment); loaderContext.setParent(null); loaderContext.setScreenData(UiControllerUtils.getScreenData(parent)); if (parent instanceof LegacyFrame) { loaderContext.setDsContext(((LegacyFrame) parent).getDsContext());
@Nullable protected Object getInjectedInstance(Class<?> type, String name, Class annotationClass, AnnotatedElement element) { Frame frame = UiControllerUtils.getFrame(frameOwner); ScreenData data = UiControllerUtils.getScreenData(frameOwner); return data.getContainer(name); ScreenData data = UiControllerUtils.getScreenData(frameOwner); return data.getLoader(name); ScreenData data = UiControllerUtils.getScreenData(frameOwner); return data.getDataContext(); return UiControllerUtils.getScreenContext(frameOwner).getScreens(); return UiControllerUtils.getScreenContext(frameOwner).getDialogs(); return UiControllerUtils.getScreenContext(frameOwner).getNotifications(); return UiControllerUtils.getScreenContext(frameOwner).getFragments(); return UiControllerUtils.getScreenContext(frameOwner).getUrlRouting();
setWindowId(controller, windowInfo.getId()); setFrame(controller, window); setScreenContext(controller, new ScreenContextImpl(windowInfo, options, this, ui.getUrlRouting()) ); setScreenData(controller, new ScreenDataImpl()); fireEvent(controller, InitEvent.class, new InitEvent(controller, options)); componentLoaderContext.executePostInitTasks(); fireEvent(controller, AfterInitEvent.class, new AfterInitEvent(controller, options));
/** * Shows standard unsaved changes dialog with Discard and Cancel actions. * * @param origin screen controller * @param closeAction close action * @return result */ public UnsavedChangesDialogResult showUnsavedChangesDialog(FrameOwner origin, @SuppressWarnings("unused") CloseAction closeAction) { UnsavedChangesDialogResult result = new UnsavedChangesDialogResult(); Dialogs dialogs = getScreenContext(origin).getDialogs(); dialogs.createOptionDialog() .withCaption(messages.getMainMessage("closeUnsaved.caption")) .withMessage(messages.getMainMessage("closeUnsaved")) .withType(Dialogs.MessageType.WARNING) .withActions( new DialogAction(DialogAction.Type.YES) .withHandler(e -> { result.discard(); }), new DialogAction(DialogAction.Type.NO, Action.Status.PRIMARY) .withHandler(e -> { Frame frame = UiControllerUtils.getFrame(origin); ComponentsHelper.focusChildComponent(frame); result.cancel(); }) ) .show(); return result; }
protected void openLookup(FrameOwner screen) { ScreenContext screenContext = UiControllerUtils.getScreenContext(screen); WindowManager wm = (WindowManager) screenContext.getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo("report$Report.run"); Screen hostScreen; if (screen instanceof Screen) { hostScreen = (Screen) screen; } else { hostScreen = UiControllerUtils.getHostScreen((ScreenFragment) screen); } wm.openLookup(windowInfo, items -> { if (items != null && items.size() > 0) { Report report = (Report) items.iterator().next(); if (screen instanceof LegacyFrame) { DataSupplier dataSupplier = ((LegacyFrame) screen).getDsContext().getDataSupplier(); report = dataSupplier.reload(report, "report.edit"); } else { DataManager dataManager = AppBeans.get(DataManager.NAME); report = dataManager.reload(report, "report.edit"); } if (report.getInputParameters() != null && report.getInputParameters().size() > 0 || reportGuiManager.inputParametersRequiredByTemplates(report)) { openReportParamsDialog(report, screen); } else { reportGuiManager.printReport(report, Collections.emptyMap(), screen); } } }, OpenType.DIALOG, ParamsMap.of(ReportRun.SCREEN_PARAMETER, hostScreen.getId())); }
ScreenContext screenContext = UiControllerUtils.getScreenContext(screen); ScreenContext screenContext = UiControllerUtils.getScreenContext(screen); ScreenContext screenContext = UiControllerUtils.getScreenContext(screen); Screen hostScreen = UiControllerUtils.getScreen(screen); ExportDisplay exportDisplay = AppConfig.createExportDisplay(hostScreen.getWindow());
Class<?> eventType = parameter.getType(); Frame frame = UiControllerUtils.getFrame(frameOwner); ScreenData screenData = UiControllerUtils.getScreenData(frameOwner); eventTarget = UiControllerUtils.getScreenData(frameOwner).getDataContext(); break;
protected boolean handleParamsChange(NavigationState requestedState) { if (!paramsChanged(requestedState)) { return false; } Screen screen = findActiveScreenByState(requestedState); if (screen == null) { log.debug("Unable to find info corresponding to state: {}", requestedState); return true; } Map<String, String> params = requestedState.getParams(); if (params == null) { params = Collections.emptyMap(); } UiControllerUtils.fireEvent(screen, UrlParamsChangedEvent.class, new UrlParamsChangedEvent(screen, params)); return true; }
@Override public void handleAction(com.vaadin.event.Action action, Object sender, Object target) { if (initialized) { if (saveSettingsAction == action) { Screen screen = getFrameOwner(); UiControllerUtils.saveSettings(screen); } else if (restoreToDefaultsAction == action) { Screen screen = getFrameOwner(); UiControllerUtils.deleteSettings(screen); } else if (analyzeAction == action) { LayoutAnalyzer analyzer = new LayoutAnalyzer(); List<LayoutTip> tipsList = analyzer.analyze(WebDialogWindow.this); if (tipsList.isEmpty()) { getWindowManager().showNotification("No layout problems found", Frame.NotificationType.HUMANIZED); } else { WindowConfig windowConfig = beanLocator.get(WindowConfig.NAME); WindowInfo windowInfo = windowConfig.getWindowInfo("layoutAnalyzer"); getWindowManager().openWindow(windowInfo, WindowManager.OpenType.DIALOG, ParamsMap.of("tipsList", tipsList)); } } } } }
protected String getWindowId(Context context) { Frame frame = context.getFrame(); Screen screen = UiControllerUtils.getScreen(frame.getFrameOwner()); return screen.getId(); }
/** * @return object encapsulating user settings for the current screen */ @Deprecated default Settings getSettings() { return UiControllerUtils.getSettings(getFrameOwner()); }
/** * This method is called by the framework when closing the screen * to save user settings if they have been changed. */ @Deprecated default void saveSettings() { UiControllerUtils.saveSettings(getFrameOwner()); }
Install annotation = annotatedMethod.getAnnotation(); Frame frame = UiControllerUtils.getFrame(frameOwner);
@Nonnull public static Screen getScreen(FrameOwner screen) { Screen hostScreen; if (screen instanceof Screen) { hostScreen = (Screen) screen; } else { hostScreen = UiControllerUtils.getHostScreen((ScreenFragment) screen); } return hostScreen; }
/** * This method is called by the framework on reset to defaults action */ @Deprecated default void deleteSettings() { UiControllerUtils.deleteSettings(getFrameOwner()); }
ScreenContext hostScreenContext = getScreenContext(hostController); setHostController(controller, hostController); setWindowId(controller, windowInfo.getId()); setFrame(controller, fragment); setScreenContext(controller, new ScreenContextImpl(windowInfo, parentContext.getOptions(), hostScreenContext.getScreens(), hostScreenContext.getUrlRouting()) ); setScreenData(controller, new ScreenDataImpl());