private Component buildProfileTab() { HorizontalLayout root = new HorizontalLayout(); root.setCaption("Profile"); root.setIcon(FontAwesome.USER); root.setWidth(100.0f, Unit.PERCENTAGE); root.setSpacing(true); root.setMargin(true); root.addStyleName("profile-form"); VerticalLayout pic = new VerticalLayout(); pic.setSizeUndefined(); pic.setSpacing(true); Image profilePic = new Image(null, new ThemeResource("img/profile-pic-300px.jpg")); profilePic.setWidth(100.0f, Unit.PIXELS); pic.addComponent(profilePic); Button upload = new Button( "Change…", event -> { Notification.show("Not implemented in this demo"); }); upload.addStyleName(ValoTheme.BUTTON_TINY); pic.addComponent(upload); root.addComponent(pic); FormLayout details = new FormLayout(); details.addStyleName(ValoTheme.FORMLAYOUT_LIGHT); root.addComponent(details); root.setExpandRatio(details, 1); firstNameField = new TextField("First Name"); details.addComponent(firstNameField); lastNameField = new TextField("Last Name"); details.addComponent(lastNameField); titleField = new ComboBox("Title"); titleField.setInputPrompt("Please specify"); titleField.addItem("Mr."); titleField.addItem("Mrs."); titleField.addItem("Ms."); titleField.setNewItemsAllowed(true); details.addComponent(titleField); sexField = new OptionGroup("Sex"); sexField.addItem(Boolean.FALSE); sexField.setItemCaption(Boolean.FALSE, "Female"); sexField.addItem(Boolean.TRUE); sexField.setItemCaption(Boolean.TRUE, "Male"); sexField.addStyleName("horizontal"); details.addComponent(sexField); Label section = new Label("Contact Info"); section.addStyleName(ValoTheme.LABEL_H4); section.addStyleName(ValoTheme.LABEL_COLORED); details.addComponent(section); emailField = new TextField("Email"); emailField.setWidth("100%"); emailField.setRequired(true); emailField.setNullRepresentation(""); details.addComponent(emailField); locationField = new TextField("Location"); locationField.setWidth("100%"); locationField.setNullRepresentation(""); locationField.setComponentError(new UserError("This address doesn't exist")); details.addComponent(locationField); phoneField = new TextField("Phone"); phoneField.setWidth("100%"); phoneField.setNullRepresentation(""); details.addComponent(phoneField); newsletterField = new OptionalSelect<>(); newsletterField.addOption(0, "Daily"); newsletterField.addOption(1, "Weekly"); newsletterField.addOption(2, "Monthly"); details.addComponent(newsletterField); section = new Label("Additional Info"); section.addStyleName(ValoTheme.LABEL_H4); section.addStyleName(ValoTheme.LABEL_COLORED); details.addComponent(section); websiteField = new TextField("Website"); websiteField.setInputPrompt("http://"); websiteField.setWidth("100%"); websiteField.setNullRepresentation(""); details.addComponent(websiteField); bioField = new TextArea("Bio"); bioField.setWidth("100%"); bioField.setRows(4); bioField.setNullRepresentation(""); details.addComponent(bioField); return root; }
@Override public void init() { buttonCancel = new Button("Batalkan"); buttonCancel.addClickListener(this); buttonShow = new Button("Tampilkan Laporan"); buttonShow.addClickListener(this); buttonPrint = new Button("Cetak"); buttonPrint.addClickListener(this); buttonPrint.setIcon(new ThemeResource("icons/image/icon-print.png")); opener = new BrowserWindowOpener(ReportPrint.class); opener.setFeatures("height=200,width=400,resizable"); // A button to open the printer-friendly page. opener.extend(buttonPrint); DateTime now = DateTime.now(); Date beginYear = now.withDayOfYear(now.dayOfYear().getMinimumValue()) .withHourOfDay(now.hourOfDay().getMinimumValue()) .toDate(); Date endYear = now.withDayOfYear(now.dayOfYear().getMaximumValue()) .withHourOfDay(now.hourOfDay().getMaximumValue()) .toDate(); selectStartDate = new DateField("Dari Tanggal"); selectStartDate.setImmediate(true); selectStartDate.setWidth(function.FORM_WIDTH); selectStartDate.setValue(beginYear); selectEndDate = new DateField("Hingga Tanggal"); selectEndDate.setImmediate(true); selectEndDate.setWidth(function.FORM_WIDTH); selectEndDate.setValue(endYear); selectAcceptance = new OptionGroup("Persetujuan"); Item itemType1 = selectAcceptance.addItem("diterima"); Item itemType2 = selectAcceptance.addItem("belumditerima"); selectAcceptance.setImmediate(true); selectAcceptance.setValue("diterima"); selectAcceptance.setItemCaption("diterima", "Barang Kadaluarsa Disetujui"); selectAcceptance.setItemCaption("belumditerima", "Barang Kadaluarsa Belum Disetujui"); selectContent = new ComboBox("Pilih Tampilan"); selectContent.setImmediate(true); selectContent.addItem(ReportContent.CHART); selectContent.addItem(ReportContent.TABLE); selectContent.addItem(ReportContent.TABLE_CHART); selectContent.setItemCaption(ReportContent.CHART, "Tampilkan Chart"); selectContent.setItemCaption(ReportContent.TABLE, "Tampilkan Tabel"); selectContent.setItemCaption(ReportContent.TABLE_CHART, "Tampilkan Tabel dan Chart"); selectContent.setItemCaption(4, "Minggu Ke-4"); selectContent.setValue(ReportContent.TABLE); selectAcceptance.addValueChangeListener(this); selectStartDate.addValueChangeListener(this); selectEndDate.addValueChangeListener(this); selectContent.addValueChangeListener(this); updateWindowOpener(); construct(); }