List of usage examples for com.vaadin.ui Panel Panel
public Panel(String caption)
From source file:com.trivago.mail.pigeon.web.components.sender.ModalAddNewSender.java
License:Apache License
public ModalAddNewSender(final SenderList sl) { super();//from ww w.ja v a2 s . c o m setClosable(false); setModal(true); setWidth("300px"); Panel rootPanel = new Panel("Add new Sender"); final VerticalLayout verticalLayout = new VerticalLayout(); final TextField tfName = new TextField("Name"); final TextField tfFromMail = new TextField("From E-Mail"); final TextField tfReplyTo = new TextField("ReplyTo E-Mail"); verticalLayout.addComponent(tfName); verticalLayout.addComponent(tfFromMail); verticalLayout.addComponent(tfReplyTo); HorizontalLayout buttonLayout = new HorizontalLayout(); Button saveButton = new Button("Save"); Button cancelButton = new Button("Cancel"); cancelButton.addListener(new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { event.getButton().getWindow().setVisible(false); event.getButton().getWindow().getParent().removeComponent(event.getButton().getWindow()); } }); saveButton.addListener(new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { if (tfName.getValue().equals("")) { tfName.setComponentError(new UserError("Name must not be empty")); } else { tfName.setComponentError(null); } if (tfFromMail.getValue().equals("")) { tfFromMail.setComponentError(new UserError("From E-Mail must not be empty")); } else { tfFromMail.setComponentError(null); } if (tfReplyTo.getValue().equals("")) { tfReplyTo.setComponentError(new UserError("Reply-To E-Mail must not be empty")); } else { tfReplyTo.setComponentError(null); } if (!tfName.getValue().equals("") && !tfFromMail.getValue().equals("") && !tfReplyTo.getValue().equals("")) { tfName.setComponentError(null); tfFromMail.setComponentError(null); tfReplyTo.setComponentError(null); long senderId = Util.generateId(); try { Sender s = new Sender(senderId, tfFromMail.getValue().toString(), tfReplyTo.getValue().toString(), tfName.getValue().toString()); event.getButton().getWindow().setVisible(false); event.getButton().getWindow().getParent().removeComponent(event.getButton().getWindow()); event.getButton().getWindow().getParent().showNotification("Saved successfully", Notification.TYPE_HUMANIZED_MESSAGE); sl.getBeanContainer().addItem(s.getId(), s); // The sender select could be placed anywhere but must be reloaded to reflect the changes. SenderSelectBox.reloadSelect(); } catch (RuntimeException e) { // Should never happen ... hopefully :D } } } }); buttonLayout.setSpacing(true); buttonLayout.addComponent(saveButton); buttonLayout.addComponent(cancelButton); verticalLayout.addComponent(buttonLayout); rootPanel.addComponent(verticalLayout); this.addComponent(rootPanel); }
From source file:com.trivago.mail.pigeon.web.components.sender.SenderList.java
License:Apache License
public SenderList() { final SenderList sl = this; final Panel rootPanel = new Panel("Sender"); rootPanel.setWidth("800px"); Button senderListNewButton = new Button("Add Sender"); senderListNewButton.setImmediate(true); senderListNewButton.setIcon(new ThemeResource("../runo/icons/16/document-add.png")); senderListNewButton.addListener(new Button.ClickListener() { @Override//from w ww .j a v a2 s . c om public void buttonClick(Button.ClickEvent event) { Window modalNewWindow = new ModalAddNewSender(sl); event.getButton().getWindow().addWindow(modalNewWindow); modalNewWindow.setVisible(true); } }); viewTable = new Table(); viewTable.setWidth("100%"); final Button editButton = new Button("Edit"); editButton.setImmediate(true); editButton.setIcon(new ThemeResource("../runo/icons/16/document-txt.png")); editButton.addListener(new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { if (viewTable.isEditable()) { viewTable.setEditable(false); editButton.setCaption("Edit"); viewTable.requestRepaintAll(); editButton.getWindow().showNotification("Save successful", Window.Notification.TYPE_HUMANIZED_MESSAGE); } else { viewTable.setEditable(true); editButton.setCaption("Save"); viewTable.requestRepaintAll(); } } }); viewTable.setImmediate(true); beanContainer = new BeanContainer<Long, Sender>(Sender.class); List<Sender> senderList = getSenderList(); for (Sender sender : senderList) { beanContainer.addItem(sender.getId(), sender); } viewTable.setContainerDataSource(beanContainer); viewTable.addGeneratedColumn("Actions", new ActionButtonColumnGenerator()); // First set the vis. cols, then the headlines (the other way round leads to an exception) viewTable.setVisibleColumns( new String[] { "id", "name", "fromMail", "replytoMail", "sentMailsCount", "Actions" }); viewTable.setColumnHeaders(new String[] { "ID", "Name", "E-Mail", "Reply To", "E-Mails sent", "Actions" }); viewTable.setColumnExpandRatio(3, 2); viewTable.setColumnExpandRatio(4, 2); HorizontalLayout topButtonLayout = new HorizontalLayout(); topButtonLayout.setSpacing(true); topButtonLayout.setMargin(false, false, true, false); topButtonLayout.addComponent(senderListNewButton); topButtonLayout.addComponent(editButton); rootPanel.addComponent(topButtonLayout); rootPanel.addComponent(viewTable); setCompositionRoot(rootPanel); }
From source file:com.trivago.mail.pigeon.web.components.sender.SenderSelectBox.java
License:Apache License
public SenderSelectBox() { Panel rootPanel = new Panel("Select Sender"); select = new Select("Available Senders"); select.setFilteringMode(AbstractSelect.Filtering.FILTERINGMODE_CONTAINS); select.setNullSelectionAllowed(false); reloadSelect();// w w w .j a v a 2 s . com select.addListener(new Select.ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent event) { selectedSender = (Long) event.getProperty().getValue(); } }); rootPanel.addComponent(select); setCompositionRoot(rootPanel); }
From source file:com.trivago.mail.pigeon.web.components.templates.ModalAddTemplate.java
License:Apache License
public ModalAddTemplate(final TemplateList tl, final Long templateId) { setResizable(true);/*from w w w.j av a 2 s . c o m*/ setWidth("972px"); setHeight("700px"); Panel rootPanel = new Panel("Add new Template"); TabSheet tSheet = new TabSheet(); HorizontalLayout hLayout = new HorizontalLayout(); final TextField title = new TextField("Template description"); final TextField subject = new TextField("Newsletter Subject"); final TextArea textContent = new TextArea("Text Version"); textContent.setRows(40); textContent.setColumns(100); final CKEditorTextField htmlContent = new CKEditorTextField(); htmlContent.setWidth("100%"); htmlContent.setHeight("650px"); // Load the content, if we receive a template id if (templateId != null) { MailTemplate mt = new MailTemplate(templateId); title.setValue(mt.getTitle()); subject.setValue(mt.getSubject()); textContent.setValue(mt.getText()); htmlContent.setValue(mt.getHtml()); } Button saveButton = new Button("Save"); Button cancel = new Button("Cancel"); saveButton.addListener(new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { boolean hasError = false; if (title.getValue().equals("")) { title.setComponentError(new UserError("Name must not be empty")); hasError = true; } else { title.setComponentError(null); } if (subject.getValue().equals("")) { subject.setComponentError(new UserError("Subject must not be empty")); hasError = true; } else { subject.setComponentError(null); } if (htmlContent.getValue().equals("")) { htmlContent.setComponentError(new UserError("Please provide some HTML content")); hasError = true; } else { htmlContent.setComponentError(null); } if (textContent.getValue().equals("")) { textContent.setComponentError(new UserError("Please provide some text content")); hasError = true; } else { textContent.setComponentError(null); } if (!hasError) { if (templateId == null) { long templateId = Util.generateId(); try { MailTemplate mt = new MailTemplate(templateId, title.getValue().toString(), textContent.getValue().toString(), htmlContent.getValue().toString(), subject.getValue().toString()); event.getButton().getWindow().setVisible(false); event.getButton().getWindow().getParent() .removeComponent(event.getButton().getWindow()); event.getButton().getWindow().getParent().showNotification("Saved successfully", Notification.TYPE_HUMANIZED_MESSAGE); tl.getBeanContainer().addItem(mt.getId(), mt); } catch (RuntimeException e) { // Should never happen ... hopefully :D } } else { MailTemplate mt = new MailTemplate(templateId); mt.setHtml(htmlContent.getValue().toString()); mt.setSubject(subject.getValue().toString()); mt.setText(textContent.getValue().toString()); mt.setTitle(title.getValue().toString()); event.getButton().getWindow().setVisible(false); event.getButton().getWindow().getParent().removeComponent(event.getButton().getWindow()); event.getButton().getWindow().getParent().showNotification("Saved successfully", Notification.TYPE_HUMANIZED_MESSAGE); final int beanIndex = tl.getBeanContainer().indexOfId(mt.getId()); tl.getBeanContainer().removeItem(mt.getId()); tl.getBeanContainer().addItemAt(beanIndex, mt.getId(), mt); } TemplateSelectBox.reloadSelect(); } } }); hLayout.addComponent(saveButton); hLayout.addComponent(cancel); hLayout.setSpacing(true); VerticalLayout metaDataLayout = new VerticalLayout(); Panel textFieldPanel = new Panel("Meta Data"); VerticalLayout metaLayout = new VerticalLayout(); metaLayout.addComponent(title); metaLayout.addComponent(subject); textFieldPanel.addComponent(metaLayout); Panel helpPanel = new Panel("Template Documentation"); assembleHelpComponents(helpPanel); metaDataLayout.addComponent(textFieldPanel); metaDataLayout.addComponent(helpPanel); tSheet.addTab(metaDataLayout).setCaption("Meta Data"); VerticalLayout textLayout = new VerticalLayout(); textLayout.addComponent(textContent); tSheet.addTab(textLayout).setCaption("Text Content"); VerticalLayout htmlLayout = new VerticalLayout(); htmlLayout.addComponent(htmlContent); tSheet.addTab(htmlLayout).setCaption("HTML Content"); rootPanel.addComponent(tSheet); rootPanel.addComponent(hLayout); addComponent(rootPanel); }
From source file:com.trivago.mail.pigeon.web.components.templates.TemplateList.java
License:Apache License
public TemplateList() { final TemplateList nl = this; final Panel rootPanel = new Panel("Newsletter"); rootPanel.setWidth("800px"); viewTable = new Table(); viewTable.setWidth("100%"); beanContainer = new BeanContainer<Long, MailTemplate>(MailTemplate.class); Button senderListNewButton = new Button("New Template"); senderListNewButton.setImmediate(true); senderListNewButton.setIcon(new ThemeResource("../runo/icons/16/document-add.png")); senderListNewButton.addListener(new Button.ClickListener() { @Override//from w w w. j a va2s. c o m public void buttonClick(Button.ClickEvent event) { Window modalNewWindow = new ModalAddTemplate(nl); event.getButton().getWindow().addWindow(modalNewWindow); modalNewWindow.setVisible(true); } }); List<MailTemplate> mailList = getTemplateList(); for (MailTemplate mail : mailList) { beanContainer.addItem(mail.getId(), mail); } viewTable.setContainerDataSource(beanContainer); viewTable.addGeneratedColumn("Actions", new ActionButtonColumnGenerator()); // First set the vis. cols, then the headlines (the other way round leads to an exception) viewTable.setVisibleColumns(new String[] { "id", "subject", "Actions" }); viewTable.setColumnHeaders(new String[] { "ID", "Subject", "Actions" }); viewTable.setColumnExpandRatio(6, 2); HorizontalLayout topButtonLayout = new HorizontalLayout(); topButtonLayout.addComponent(senderListNewButton); // topButtonLayout.addComponent(statusPopup); topButtonLayout.setMargin(false, false, true, false); rootPanel.addComponent(topButtonLayout); rootPanel.addComponent(viewTable); setCompositionRoot(rootPanel); }
From source file:com.trivago.mail.pigeon.web.components.templates.TemplateSelectBox.java
License:Apache License
public TemplateSelectBox() { Panel rootPanel = new Panel("Select Mail Template"); select = new Select("Available Mail Templates"); select.setFilteringMode(AbstractSelect.Filtering.FILTERINGMODE_CONTAINS); // We want to allow a null value as we could choose manual upload over using a template select.setNullSelectionAllowed(true); reloadSelect();/*from ww w .j a v a 2 s .c o m*/ select.addListener(new Select.ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent event) { selectedTemplate = (Long) event.getProperty().getValue(); log.debug("Group Select Value: " + selectedTemplate); } }); rootPanel.addComponent(select); setCompositionRoot(rootPanel); log.debug("Init groups done."); }
From source file:com.trivago.mail.pigeon.web.components.wizard.setup.steps.WizardAddRecipientGroupComponent.java
License:Apache License
@Override public Component getContent() { Label label = new Label("<p>The Recipient Group is the highest order of collection recipients. " + "You need a Recipient Group in order to send a Newsletter.</p>", Label.CONTENT_XHTML); Panel rootPanel = new Panel("Add new group"); final VerticalLayout verticalLayout = new VerticalLayout(); tfName = new TextField("Name"); verticalLayout.addComponent(label);/*from w ww . ja va2 s.c om*/ verticalLayout.addComponent(tfName); rootPanel.addComponent(verticalLayout); return rootPanel; }
From source file:com.trivago.mail.pigeon.web.components.wizard.setup.steps.WizardAddSenderComponent.java
License:Apache License
@Override public Component getContent() { final Panel rootPanel = new Panel("Add new Sender"); final VerticalLayout verticalLayout = new VerticalLayout(); Label label = new Label("The sender is a person or group that is shown as the sender of the newsletter."); tfName = new TextField("Name"); tfFromMail = new TextField("From E-Mail"); tfReplyTo = new TextField("ReplyTo E-Mail"); verticalLayout.addComponent(label);//from w w w. j a v a 2 s . c o m verticalLayout.addComponent(tfName); verticalLayout.addComponent(tfFromMail); verticalLayout.addComponent(tfReplyTo); rootPanel.addComponent(verticalLayout); return rootPanel; }
From source file:customcomponent.CustomcomponentUI.java
@Override protected void init(VaadinRequest request) { final VerticalLayout layout = new VerticalLayout(); layout.setMargin(true);/*from w ww .j av a 2 s .c om*/ setContent(layout); Label terms = new Label("You agree with us on everything."); Panel panel = new Panel("LICENSE TERMS:"); panel.setContent(terms); layout.addComponent(panel); AcceptTermsButton button = new AcceptTermsButton("Yeah right. I do accept that.", "Install"); button.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { Notification.show("Software installed."); } }); layout.addComponent(button); }
From source file:cz.zcu.pia.social.network.frontend.components.posts.ComponentPostAdd.java
/** * Post construct/*from ww w . j a v a 2 s .c o m*/ */ @PostConstruct public void postConstruct() { visibilityComboBox = visibility.getVisibilityComboBox(); confirmButton = new Button(msgs.getMessage("post.add.new")); confirmButton.addClickListener(new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { postButtonFunction(event); } }); this.addComponent(layout); layout.addComponent(visibilityComboBox, "selector"); layout.addComponent(message, "message"); panel = new Panel("scroll"); panel.setSizeFull(); panel.setContent(tags); layout.addComponent(panel, "tags"); layout.addComponent(newTag, "newTag"); layout.addComponent(confirmButton, "okButton"); }