protected void initNotifications(PivotTable pivotTable) { ScreenContext screenContext = ComponentsHelper.getScreenContext(pivotTable); notifications = screenContext.getNotifications(); }
ScreenContext screenContext = ComponentsHelper.getScreenContext(actualField);
public void showInfo(Entity entity, MetaClass metaClass, Component.BelongToFrame component) { WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(component).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo("sysInfoWindow"); wm.openWindow(windowInfo, OpenType.DIALOG, ParamsMap.of( "metaClass", metaClass, "item", entity)); } }
@Override public void actionPerform(Component component) { Set<Entity> ownerSelection = target.getSelected(); if (!ownerSelection.isEmpty()) { String entityType; if (target.getItems() instanceof EntityDataUnit) { MetaClass metaClass = ((EntityDataUnit) target.getItems()).getEntityMetaClass(); entityType = metaClass.getName(); } else { throw new UnsupportedOperationException("Unsupported data unit " + target.getItems()); } String[] strings = ValuePathHelper.parse(ComponentsHelper.getFilterComponentPath(filter)); String componentId = ValuePathHelper.format(Arrays.copyOfRange(strings, 1, strings.length)); Map<String, Object> params = new HashMap<>(); params.put("entityType", entityType); params.put("items", ownerSelection); params.put("componentPath", ComponentsHelper.getFilterComponentPath(filter)); params.put("componentId", componentId); params.put("foldersPane", filterHelper.getFoldersPane()); params.put("entityClass", adapter.getMetaClass().getJavaClass().getName()); params.put("query", adapter.getQuery()); WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(filter).getScreens(); WindowInfo windowInfo = windowConfig.getWindowInfo("saveSetInFolder"); wm.openWindow(windowInfo, OpenType.DIALOG, params); } } }
WindowManager wm = (WindowManager) getScreenContext((Component.BelongToFrame) owner).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo(formDefinition.getName());
WindowManager wm = (WindowManager) getScreenContext((Component.BelongToFrame) owner).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo(startForm.getName());
protected void analyzeLayout(Object target) { Window window = findWindow((Layout) target); if (window != null) { LayoutAnalyzer analyzer = new LayoutAnalyzer(); List<LayoutTip> tipsList = analyzer.analyze(window); if (tipsList.isEmpty()) { Notifications notifications = ComponentsHelper.getScreenContext(window).getNotifications(); notifications.create(NotificationType.HUMANIZED) .withCaption("No layout problems found") .show(); } else { WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(window).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo("layoutAnalyzer"); wm.openWindow(windowInfo, WindowManager.OpenType.DIALOG, ParamsMap.of("tipsList", tipsList)); } } }
@Override public void actionPerform(Component component) { if (filterEntity == null) { // todo add notification 'Filter not selected' return; } Frame frame = filter.getFrame(); String[] strings = ValuePathHelper.parse(ComponentsHelper.getFilterComponentPath(filter)); String windowAlias = strings[0]; StringBuilder lookupAlias = new StringBuilder(windowAlias); if (windowAlias.endsWith(Window.BROWSE_WINDOW_SUFFIX)) { int index = lookupAlias.lastIndexOf(Window.BROWSE_WINDOW_SUFFIX); lookupAlias.delete(index, lookupAlias.length()); lookupAlias.append(Window.LOOKUP_WINDOW_SUFFIX); } WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(frame).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo(lookupAlias.toString()); wm.openLookup(windowInfo, items -> { String filterXml = filterEntity.getXml(); filterEntity.setXml(UserSetHelper.addEntities(filterXml, items)); filterEntity.getFolder().setFilterXml(filterEntity.getXml()); filterEntity.setFolder(saveFolder(filterEntity.getFolder())); setFilterEntity(filterEntity); }, OpenType.THIS_TAB); } }
ActionOwner owner = getOwner(); if (owner instanceof Component.BelongToFrame) { WindowManager wm = (WindowManager) getScreenContext((Component.BelongToFrame) owner).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo(cancelForm.getName());
/** * Export via {@link ExcelExporter}. */ protected void export(ExportMode exportMode) { ExcelExporter exporter = new ExcelExporter(); exporter.setExportAggregation(exportAggregation); if (listComponent instanceof Table) { Table<Entity> table = (Table<Entity>) listComponent; exporter.exportTable(table, table.getNotCollapsedColumns(), false, display, null, fileName, exportMode); } if (listComponent instanceof DataGrid) { DataGrid<Entity> dataGrid = (DataGrid<Entity>) listComponent; List<DataGrid.Column> columns = dataGrid.getVisibleColumns().stream() .filter(col -> !col.isCollapsed()) .collect(Collectors.toList()); exporter.exportDataGrid(dataGrid, columns, display, null, fileName, exportMode); } if (exporter.isXlsMaxRowNumberExceeded()) { Notifications notifications = getScreenContext(listComponent).getNotifications(); notifications.create(NotificationType.WARNING) .withCaption(messages.getMainMessage("actions.warningExport.title")) .withDescription(messages.getMainMessage("actions.warningExport.message")) .show(); } }
protected void handleDateOutOfRange(V value) { if (getFrame() != null) { Messages messages = beanLocator.get(Messages.NAME); Notifications notifications = ComponentsHelper.getScreenContext(this).getNotifications(); notifications.create() .withCaption(messages.getMainMessage("datePicker.dateOutOfRangeMessage")) .withType(Notifications.NotificationType.TRAY) .show(); } setValueToPresentation(convertToLocalDateTime(value, zoneId)); }
Notifications notifications = ComponentsHelper.getScreenContext(target).getNotifications();
@Override protected void afterLookupWindowOpened(Window lookupWindow) { boolean found = ComponentsHelper.walkComponents(lookupWindow, screenComponent -> { if (!(screenComponent instanceof Filter)) { return false; } else { MetaClass actualMetaClass = ((FilterImplementation) screenComponent).getEntityMetaClass(); MetaClass propertyMetaClass = extendedEntities.getEffectiveMetaClass(pickerField.getMetaClass()); if (Objects.equals(actualMetaClass, propertyMetaClass)) { applyFilter(((Filter) screenComponent)); return true; } return false; } }); if (!found) { Notifications notifications = getScreenContext(pickerField).getNotifications(); notifications.create(NotificationType.WARNING) .withCaption(messages.getMainMessage("dynamicAttributes.entity.filter.filterNotFound")) .show(); } AbstractWindow controller = (AbstractWindow) (lookupWindow).getFrameOwner(); ((DsContextImplementation) controller.getDsContext()).resumeSuspended(); }
Notifications notifications = getScreenContext(target.getFrame()).getNotifications(); notifications.create(NotificationType.ERROR) .withCaption(messages.getMainMessage("accessDenied.message")) Notifications notifications = getScreenContext(target.getFrame()).getNotifications(); notifications.create(NotificationType.ERROR) .withCaption(messages.getMainMessage("actions.BulkEdit.emptySelection"))
protected void confirmAndRemove(Set<Entity> selected) { Dialogs dialogs = ComponentsHelper.getScreenContext(target.getFrame()).getDialogs(); dialogs.createOptionDialog() .withCaption(getConfirmationTitle()) .withMessage(getConfirmationMessage()) .withActions( new DialogAction(Type.OK, Status.PRIMARY).withHandler(event -> { try { remove(selected); } finally { if (target instanceof Component.Focusable) { ((Component.Focusable) target).focus(); } Set<Entity> filtered = new HashSet<>(selected); filtered.retainAll(target.getDatasource().getItems()); //noinspection unchecked target.setSelected(filtered); } }), new DialogAction(Type.CANCEL).withHandler(event -> { // move focus to owner if (target instanceof Component.Focusable) { ((Component.Focusable) target).focus(); } })) .show(); }
Dialogs dialogs = getScreenContext(this).getDialogs();
/** * This method is invoked by action owner component. Don't override it, there are special methods to * customize behaviour below. * * @param component component invoking action */ @Override public void actionPerform(Component component) { if (beforeActionPerformedHandler != null) { if (!beforeActionPerformedHandler.beforeActionPerformed()) { return; } } Map<String, Object> params = prepareWindowParams(); Window.Lookup.Handler handler = getHandler(); Window.Lookup.Handler itemsHandler = handler != null ? handler : new DefaultHandler(); WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(target.getFrame()).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo(getWindowId()); Window lookupWindow = wm.openLookup(windowInfo, itemsHandler, getOpenType(), params); if (target instanceof Component.Focusable) { lookupWindow.addCloseListener(actionId -> { // move focus to owner ((Component.Focusable) target).focus(); }); } }
ScreenContext screenContext = ComponentsHelper.getScreenContext(pickerField); Notifications notifications = screenContext.getNotifications();
ActionOwner owner = getOwner(); if (owner instanceof Component.BelongToFrame) { Dialogs dialogs = getScreenContext((Component.BelongToFrame) owner).getDialogs();
}; Dialogs dialogs = ComponentsHelper.getScreenContext(target).getDialogs();