List of usage examples for com.vaadin.ui Window addCloseListener
public Registration addCloseListener(CloseListener listener)
From source file:com.haulmont.cuba.web.app.ui.core.settings.SettingsWindow.java
License:Apache License
@Override public void init(Map<String, Object> params) { Boolean changeThemeEnabledParam = (Boolean) params.get("changeThemeEnabled"); if (changeThemeEnabledParam != null) { changeThemeEnabled = changeThemeEnabledParam; }/*from w w w . j a v a2 s . co m*/ AppWorkArea.Mode mode = userSettingsTools.loadAppWindowMode(); msgTabbed = getMessage("modeTabbed"); msgSingle = getMessage("modeSingle"); modeOptions.setOptionsList(Arrays.asList(msgTabbed, msgSingle)); if (mode == AppWorkArea.Mode.TABBED) modeOptions.setValue(msgTabbed); else modeOptions.setValue(msgSingle); ThemeConstantsRepository themeRepository = AppBeans.get(ThemeConstantsRepository.NAME); Set<String> supportedThemes = themeRepository.getAvailableThemes(); appThemeField.setOptionsList(new ArrayList<>(supportedThemes)); String userAppTheme = userSettingsTools.loadAppWindowTheme(); appThemeField.setValue(userAppTheme); ComboBox vAppThemeField = (ComboBox) WebComponentsHelper.unwrap(appThemeField); vAppThemeField.setTextInputAllowed(false); appThemeField.setEditable(changeThemeEnabled); initTimeZoneFields(); User user = userSession.getUser(); changePasswordBtn.setAction( new BaseAction("changePassw").withCaption(getMessage("changePassw")).withHandler(event -> { Window passwordDialog = openWindow("sec$User.changePassword", OpenType.DIALOG, ParamsMap.of("currentPasswordRequired", true)); passwordDialog.addCloseListener(actionId -> { // move focus back to window changePasswordBtn.requestFocus(); }); })); if (!user.equals(userSession.getCurrentOrSubstitutedUser()) || ExternalUserCredentials.isLoggedInWithExternalAuth(userSession)) { changePasswordBtn.setEnabled(false); } Map<String, Locale> locales = globalConfig.getAvailableLocales(); TreeMap<String, Object> options = new TreeMap<>(); for (Map.Entry<String, Locale> entry : locales.entrySet()) { options.put(entry.getKey(), messages.getTools().localeToString(entry.getValue())); } appLangField.setOptionsMap(options); appLangField.setValue(userManagementService.loadOwnLocale()); Action commitAction = new BaseAction("commit").withCaption(messages.getMainMessage("actions.Ok")) .withShortcut(clientConfig.getCommitShortcut()).withHandler(event -> commit()); addAction(commitAction); okBtn.setAction(commitAction); cancelBtn.setAction(new BaseAction("cancel").withCaption(messages.getMainMessage("actions.Cancel")) .withHandler(event -> cancel())); initDefaultScreenField(); }
From source file:com.save.client.promodeals.PDDataGridProperties.java
@Override public void gridRenrderersAndGenerator() { getColumn("view").setWidth(40); getColumn("edit").setWidth(40); getColumn("del").setWidth(40); getDefaultHeaderRow().join("view", "edit", "del").setText(""); setFrozenColumnCount(1);/* w ww.j a v a 2s.c o m*/ getColumn("del").setRenderer(new FontIconRenderer(e -> { Object itemId = e.getItemId(); Item item = getContainerDataSource().getItem(itemId); Window sub = delete(itemId, CommonUtilities.convertStringToInt(item.getItemProperty("sn").getValue().toString())); if (sub.getParent() == null) { UI.getCurrent().addWindow(sub); } })); getColumn("edit").setRenderer(new FontIconRenderer(e -> { Object itemId = e.getItemId(); Item item = getContainerDataSource().getItem(itemId); Window sub = new AcknowledgementPromoForm(getClientId(), (int) item.getItemProperty("sn").getValue()); if (sub.getParent() == null) { UI.getCurrent().addWindow(sub); } sub.addCloseListener((Window.CloseEvent event) -> { getContainerDataSource().removeAllItems(); setContainerDataSource(new PDDataContainer(getClientId())); }); })); getColumn("view").setRenderer(new FontIconRenderer(e -> { Object itemId = e.getItemId(); Item item = getContainerDataSource().getItem(itemId); Window sub = new PromoDealAcknowledgementReport( CommonUtilities.convertStringToInt(item.getItemProperty("sn").getValue().toString())); if (sub.getParent() == null) { UI.getCurrent().addWindow(sub); } })); recalculateColumnWidths(); }
From source file:com.save.client.promodeals.PromoUI.java
public PromoUI(int clientId) { this.clientId = clientId; setWidth("90%"); setHeight("100%"); setMargin(new MarginInfo(true, true, false, false)); PDDataGridProperties dataGrid = new PDDataGridProperties(getClientId()); Button button = new Button("Acknowledgement Form"); button.setWidthUndefined();/*from w ww. j a v a2s . c om*/ button.setIcon(FontAwesome.OPENID); button.addStyleName(ValoTheme.BUTTON_LINK); button.addStyleName(ValoTheme.BUTTON_SMALL); button.addClickListener((Button.ClickEvent event) -> { Window sub = new com.save.clients.AcknowledgementPromoForm(getClientId()); if (sub.getParent() == null) { UI.getCurrent().addWindow(sub); } sub.addCloseListener((Window.CloseEvent e) -> { dataGrid.getContainerDataSource().removeAllItems(); dataGrid.setContainerDataSource(new PDDataContainer(getClientId())); }); }); addComponent(button); setComponentAlignment(button, Alignment.TOP_RIGHT); addComponent(dataGrid); setExpandRatio(dataGrid, 2); }
From source file:com.save.client.RemoveAccountWindow.java
void getConfirmationWindow(final String str) { final Window sub = new Window("Conifrm?"); sub.setWidth("180px"); sub.setHeight("150px"); sub.center();/*from w w w . ja v a 2 s . co m*/ sub.setResizable(false); UI.getCurrent().addWindow(sub); VerticalLayout vlayout = new VerticalLayout(); vlayout.setMargin(true); vlayout.setSpacing(true); vlayout.addComponent(new Label("Client is a Distributor!")); Button removeBtn = new Button("REMOVE"); removeBtn.setWidth("100%"); removeBtn.addClickListener((Button.ClickEvent event) -> { boolean result = clientService.removeAccount(getClientId(), str); if (result) { sub.close(); close(); } }); vlayout.addComponent(removeBtn); sub.setContent(vlayout); sub.addCloseListener((CloseEvent e) -> { close(); }); }
From source file:com.save.employee.maintenance.MRUI.java
public MRUI(int employeeId) { this.employeeId = employeeId; setWidth("90%"); setHeight("100%"); setMargin(new MarginInfo(true, false, false, false)); MRDataGridProperties dataGrid = new MRDataGridProperties(getEmployeeId()); Button mrForm = new Button("Maintenance/Reimbursement Form"); mrForm.setWidthUndefined();/*from w w w.j a v a 2 s .co m*/ mrForm.setIcon(FontAwesome.OPENID); mrForm.addStyleName(ValoTheme.BUTTON_SMALL); mrForm.addStyleName(ValoTheme.BUTTON_LINK); mrForm.addClickListener((Button.ClickEvent event) -> { Window sub = new MRFormWindow(getEmployeeId()); if (sub.getParent() == null) { UI.getCurrent().addWindow(sub); } sub.addCloseListener((Window.CloseEvent e) -> { dataGrid.getContainerDataSource().removeAllItems(); dataGrid.setContainerDataSource(new MRDataContainer(getEmployeeId())); }); }); addComponent(mrForm); setComponentAlignment(mrForm, Alignment.MIDDLE_RIGHT); addComponent(dataGrid); setExpandRatio(dataGrid, 2); }
From source file:com.save.employee.request.RLUI.java
public RLUI(int employeeId) { this.employeeId = employeeId; setWidth("90%"); setHeight("100%"); setMargin(new MarginInfo(true, false, false, false)); RLDataGridProperties dataGrid = new RLDataGridProperties(getEmployeeId()); Button rlForm = new Button("Request/Liquidation FORM"); rlForm.setIcon(FontAwesome.OPENID);//w w w. j a v a2 s . c o m rlForm.addStyleName(ValoTheme.BUTTON_SMALL); rlForm.addStyleName(ValoTheme.BUTTON_LINK); rlForm.addClickListener((Button.ClickEvent event) -> { Window sub = new RequestFormWindow(getEmployeeId(), 0, false, dataGrid); if (sub.getParent() == null) { UI.getCurrent().addWindow(sub); } sub.addCloseListener((Window.CloseEvent e) -> { dataGrid.getContainerDataSource().removeAllItems(); dataGrid.setContainerDataSource(new RLDataContainer(getEmployeeId())); }); }); addComponent(rlForm); setComponentAlignment(rlForm, Alignment.MIDDLE_RIGHT); addComponent(dataGrid); setExpandRatio(dataGrid, 2); }
From source file:com.tripoin.util.ui.calendar.BeanItemContainerTestUI.java
License:Apache License
/** * Opens up a modal dialog window where an event can be modified * //from w ww . ja va 2s .c o m * @param event * The event to modify */ private void editEvent(final BasicEvent event) { Window modal = new Window("Add event"); modal.setModal(true); modal.setResizable(false); modal.setDraggable(false); modal.setWidth("300px"); final FieldGroup fieldGroup = new FieldGroup(); FormLayout formLayout = new FormLayout(); TextField captionField = new TextField("Caption"); captionField.setImmediate(true); TextField descriptionField = new TextField("Description"); descriptionField.setImmediate(true); DateField startField = new DateField("Start"); startField.setResolution(Resolution.MINUTE); startField.setImmediate(true); DateField endField = new DateField("End"); endField.setImmediate(true); endField.setResolution(Resolution.MINUTE); formLayout.addComponent(captionField); formLayout.addComponent(descriptionField); formLayout.addComponent(startField); formLayout.addComponent(endField); fieldGroup.bind(captionField, ContainerEventProvider.CAPTION_PROPERTY); fieldGroup.bind(descriptionField, ContainerEventProvider.DESCRIPTION_PROPERTY); fieldGroup.bind(startField, ContainerEventProvider.STARTDATE_PROPERTY); fieldGroup.bind(endField, ContainerEventProvider.ENDDATE_PROPERTY); fieldGroup.setItemDataSource(new BeanItem<BasicEvent>(event, Arrays.asList(ContainerEventProvider.CAPTION_PROPERTY, ContainerEventProvider.DESCRIPTION_PROPERTY, ContainerEventProvider.STARTDATE_PROPERTY, ContainerEventProvider.ENDDATE_PROPERTY))); modal.setContent(formLayout); modal.addCloseListener(new Window.CloseListener() { /** * */ private static final long serialVersionUID = -3427881784024691882L; @Override public void windowClose(CloseEvent e) { // Commit changes to bean try { fieldGroup.commit(); } catch (CommitException e1) { e1.printStackTrace(); } if (events.containsId(event)) { /* * BeanItemContainer does not notify container listeners * when the bean changes so we need to trigger a * ItemSetChange event */ BasicEvent dummy = new BasicEvent(); events.addBean(dummy); events.removeItem(dummy); } else { events.addBean(event); } } }); getUI().addWindow(modal); }
From source file:de.symeda.sormas.ui.caze.CaseController.java
License:Open Source License
private void saveCase(CaseDataDto cazeDto) { // Compare old and new case CaseDataDto existingDto = FacadeProvider.getCaseFacade().getCaseDataByUuid(cazeDto.getUuid()); onCaseChanged(existingDto, cazeDto); CaseDataDto resultDto = FacadeProvider.getCaseFacade().saveCase(cazeDto); if (resultDto.getPlagueType() != cazeDto.getPlagueType()) { // TODO would be much better to have a notification for this triggered in the backend Window window = VaadinUiUtil.showSimplePopupWindow( I18nProperties.getString(Strings.headingSaveNotification), String.format(I18nProperties.getString(Strings.messagePlagueTypeChange), resultDto.getPlagueType().toString(), resultDto.getPlagueType().toString())); window.addCloseListener(new CloseListener() { private static final long serialVersionUID = 1L; @Override/*ww w .ja v a 2 s .c o m*/ public void windowClose(CloseEvent e) { if (existingDto.getCaseClassification() != resultDto.getCaseClassification() && resultDto.getClassificationUser() == null) { Notification notification = new Notification(String.format( I18nProperties.getString(Strings.messageCaseSavedClassificationChanged), resultDto.getCaseClassification().toString()), Type.WARNING_MESSAGE); notification.setDelayMsec(-1); notification.show(Page.getCurrent()); } else { Notification.show(I18nProperties.getString(Strings.messageCaseSaved), Type.WARNING_MESSAGE); } SormasUI.refreshView(); } }); } else { // Notify user about an automatic case classification change if (existingDto != null && existingDto.getCaseClassification() != resultDto.getCaseClassification() && resultDto.getClassificationUser() == null) { Notification notification = new Notification( String.format(I18nProperties.getString(Strings.messageCaseSavedClassificationChanged), resultDto.getCaseClassification().toString()), Type.WARNING_MESSAGE); notification.setDelayMsec(-1); notification.show(Page.getCurrent()); } else { Notification.show(I18nProperties.getString(Strings.messageCaseSaved), Type.WARNING_MESSAGE); } SormasUI.refreshView(); } }
From source file:de.symeda.sormas.ui.caze.CaseController.java
License:Open Source License
public void openClassificationRulesPopup(CaseDataDto caze) { VerticalLayout classificationRulesLayout = new VerticalLayout(); classificationRulesLayout.setMargin(true); DiseaseClassificationCriteriaDto diseaseCriteria = FacadeProvider.getCaseClassificationFacade() .getByDisease(caze.getDisease()); if (diseaseCriteria != null) { Label suspectContent = new Label(); suspectContent.setContentMode(ContentMode.HTML); suspectContent.setWidth(100, Unit.PERCENTAGE); suspectContent.setValue(ClassificationHtmlRenderer.createSuspectHtmlString(diseaseCriteria)); classificationRulesLayout.addComponent(suspectContent); Label probableContent = new Label(); probableContent.setContentMode(ContentMode.HTML); probableContent.setWidth(100, Unit.PERCENTAGE); probableContent.setValue(ClassificationHtmlRenderer.createProbableHtmlString(diseaseCriteria)); classificationRulesLayout.addComponent(probableContent); Label confirmedContent = new Label(); confirmedContent.setContentMode(ContentMode.HTML); confirmedContent.setWidth(100, Unit.PERCENTAGE); confirmedContent.setValue(ClassificationHtmlRenderer.createConfirmedHtmlString(diseaseCriteria)); classificationRulesLayout.addComponent(confirmedContent); }//from w w w . j a va 2 s . com Window popupWindow = VaadinUiUtil.showPopupWindow(classificationRulesLayout); popupWindow.addCloseListener(e -> { popupWindow.close(); }); popupWindow.setWidth(860, Unit.PIXELS); popupWindow.setHeight(80, Unit.PERCENTAGE); popupWindow.setCaption( I18nProperties.getString(Strings.classificationRulesFor) + " " + caze.getDisease().toString()); }
From source file:de.symeda.sormas.ui.caze.CasesView.java
License:Open Source License
public CasesView() { super(VIEW_NAME); originalViewTitle = getViewTitleLabel().getValue(); criteria = ViewModelProviders.of(CasesView.class).get(CaseCriteria.class); if (criteria.getArchived() == null) { criteria.archived(false);// ww w . j a va 2s . c o m } grid = new CaseGrid(); grid.setCriteria(criteria); gridLayout = new VerticalLayout(); gridLayout.addComponent(createFilterBar()); gridLayout.addComponent(createStatusFilterBar()); gridLayout.addComponent(grid); gridLayout.setMargin(true); gridLayout.setSpacing(false); gridLayout.setSizeFull(); gridLayout.setExpandRatio(grid, 1); gridLayout.setStyleName("crud-main-layout"); grid.getDataProvider().addDataProviderListener(e -> updateStatusButtons()); if (UserProvider.getCurrent().hasUserRight(UserRight.CASE_IMPORT)) { Button importButton = new Button(I18nProperties.getCaption(Captions.actionImport)); importButton.addStyleName(ValoTheme.BUTTON_PRIMARY); importButton.setIcon(VaadinIcons.UPLOAD); importButton.addClickListener(e -> { Window popupWindow = VaadinUiUtil.showPopupWindow(new CaseImportLayout()); popupWindow.setCaption(I18nProperties.getString(Strings.headingImportCases)); popupWindow.addCloseListener(c -> { grid.reload(); }); }); addHeaderComponent(importButton); } if (UserProvider.getCurrent().hasUserRight(UserRight.CASE_EXPORT)) { PopupButton exportButton = new PopupButton(I18nProperties.getCaption(Captions.export)); exportButton.setId("export"); exportButton.setIcon(VaadinIcons.DOWNLOAD); VerticalLayout exportLayout = new VerticalLayout(); exportLayout.setSpacing(true); exportLayout.setMargin(true); exportLayout.addStyleName(CssStyles.LAYOUT_MINIMAL); exportLayout.setWidth(200, Unit.PIXELS); exportButton.setContent(exportLayout); addHeaderComponent(exportButton); Button basicExportButton = new Button(I18nProperties.getCaption(Captions.exportBasic)); basicExportButton.setId("basicExport"); basicExportButton.setDescription(I18nProperties.getString(Strings.infoBasicExport)); basicExportButton.addStyleName(ValoTheme.BUTTON_PRIMARY); basicExportButton.setIcon(VaadinIcons.TABLE); basicExportButton.setWidth(100, Unit.PERCENTAGE); exportLayout.addComponent(basicExportButton); StreamResource streamResource = new GridExportStreamResource(grid, "sormas_cases", "sormas_cases_" + DateHelper.formatDateForExport(new Date()) + ".csv"); FileDownloader fileDownloader = new FileDownloader(streamResource); fileDownloader.extend(basicExportButton); Button extendedExportButton = new Button(I18nProperties.getCaption(Captions.exportDetailed)); extendedExportButton.setId("extendedExport"); extendedExportButton.setDescription(I18nProperties.getString(Strings.infoDetailedExport)); extendedExportButton.addStyleName(ValoTheme.BUTTON_PRIMARY); extendedExportButton.setIcon(VaadinIcons.FILE_TEXT); extendedExportButton.setWidth(100, Unit.PERCENTAGE); exportLayout.addComponent(extendedExportButton); StreamResource extendedExportStreamResource = DownloadUtil.createCsvExportStreamResource( CaseExportDto.class, (Integer start, Integer max) -> FacadeProvider.getCaseFacade() .getExportList(UserProvider.getCurrent().getUuid(), grid.getCriteria(), start, max), (propertyId, type) -> { String caption = I18nProperties.getPrefixCaption(CaseExportDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(PersonDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(SymptomsDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(EpiDataDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption( HospitalizationDto.I18N_PREFIX, propertyId)))))); if (Date.class.isAssignableFrom(type)) { caption += " (" + DateHelper.getLocalShortDatePattern() + ")"; } return caption; }, "sormas_cases_" + DateHelper.formatDateForExport(new Date()) + ".csv"); new FileDownloader(extendedExportStreamResource).extend(extendedExportButton); Button sampleExportButton = new Button(I18nProperties.getCaption(Captions.exportSamples)); sampleExportButton.setId("sampleExport"); sampleExportButton.setDescription(I18nProperties.getString(Strings.infoSampleExport)); sampleExportButton.addStyleName(ValoTheme.BUTTON_PRIMARY); sampleExportButton.setIcon(VaadinIcons.FILE_TEXT); sampleExportButton.setWidth(100, Unit.PERCENTAGE); exportLayout.addComponent(sampleExportButton); StreamResource sampleExportStreamResource = DownloadUtil.createCsvExportStreamResource( SampleExportDto.class, (Integer start, Integer max) -> FacadeProvider.getSampleFacade() .getExportList(UserProvider.getCurrent().getUuid(), grid.getCriteria(), start, max), (propertyId, type) -> { String caption = I18nProperties.getPrefixCaption(SampleExportDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(SampleDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(CaseDataDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption(PersonDto.I18N_PREFIX, propertyId, I18nProperties.getPrefixCaption( AdditionalTestDto.I18N_PREFIX, propertyId))))); if (Date.class.isAssignableFrom(type)) { caption += " (" + DateHelper.getLocalShortDatePattern() + ")"; } return caption; }, "sormas_samples_" + DateHelper.formatDateForExport(new Date()) + ".csv"); new FileDownloader(sampleExportStreamResource).extend(sampleExportButton); // Warning if no filters have been selected Label warningLabel = new Label(I18nProperties.getString(Strings.infoExportNoFilters), ContentMode.HTML); warningLabel.setWidth(100, Unit.PERCENTAGE); exportLayout.addComponent(warningLabel); warningLabel.setVisible(false); exportButton.addClickListener(e -> { warningLabel.setVisible(!criteria.hasAnyFilterActive()); }); } if (UserProvider.getCurrent().hasUserRight(UserRight.CASE_MERGE)) { Button mergeDuplicatesButton = new Button(I18nProperties.getCaption(Captions.caseMergeDuplicates)); mergeDuplicatesButton.setId("mergeDuplicates"); mergeDuplicatesButton.setIcon(VaadinIcons.COMPRESS_SQUARE); mergeDuplicatesButton .addClickListener(e -> ControllerProvider.getCaseController().navigateToMergeCasesView()); addHeaderComponent(mergeDuplicatesButton); } if (UserProvider.getCurrent().hasUserRight(UserRight.CASE_CREATE)) { createButton = new Button(I18nProperties.getCaption(Captions.caseNewCase)); createButton.setId("create"); createButton.addStyleName(ValoTheme.BUTTON_PRIMARY); createButton.setIcon(VaadinIcons.PLUS_CIRCLE); createButton.addClickListener(e -> ControllerProvider.getCaseController().create()); addHeaderComponent(createButton); } addComponent(gridLayout); }