use of com.vaadin.v7.ui.VerticalLayout in project SORMAS-Project by hzi-braunschweig.
the class SmsComponent method initContent.
@Override
protected Component initContent() {
final VerticalLayout mainLayout = new VerticalLayout();
mainLayout.setSpacing(false);
mainLayout.setMargin(false);
mainLayout.setSizeUndefined();
mainLayout.setWidth(100, Unit.PERCENTAGE);
if (missingPhoneNumbers > 0) {
mainLayout.addComponent(new Label(VaadinIcons.INFO_CIRCLE.getHtml() + " " + String.format(I18nProperties.getCaption(Captions.messagesNumberOfMissingPhoneNumbers), missingPhoneNumbers), ContentMode.HTML));
mainLayout.addComponent(new Label());
}
mainLayout.addComponent(new Label(I18nProperties.getString(Strings.messageEnterSms)));
final ResizableTextAreaWrapper<TextArea> resizableTextAreaWrapper = new ResizableTextAreaWrapper<>();
smsTextArea = new TextArea();
smsTextArea.setWidth(100, Unit.PERCENTAGE);
smsTextArea.setRows(4);
mainLayout.addComponent(resizableTextAreaWrapper.wrap(smsTextArea, Captions.messagesCharacters, false));
final Label numberOfMessagesLabel = new Label(String.format(I18nProperties.getCaption(Captions.messagesNumberOfMessages), 0));
numberOfMessagesLabel.addStyleNames(CssStyles.ALIGN_RIGHT, CssStyles.FIELD_EXTRA_INFO, CssStyles.LABEL_ITALIC);
mainLayout.addComponent(numberOfMessagesLabel);
mainLayout.setComponentAlignment(numberOfMessagesLabel, Alignment.BOTTOM_RIGHT);
smsTextArea.addTextChangeListener(e -> setNumberOfMessagesLabel(numberOfMessagesLabel, e.getText().length()));
smsTextArea.addValueChangeListener(e -> setNumberOfMessagesLabel(numberOfMessagesLabel, smsTextArea.getValue().length()));
return mainLayout;
}
use of com.vaadin.v7.ui.VerticalLayout in project SORMAS-Project by hzi-braunschweig.
the class TherapyView method createPrescriptionsHeader.
private VerticalLayout createPrescriptionsHeader() {
VerticalLayout prescriptionsHeader = new VerticalLayout();
prescriptionsHeader.setMargin(false);
prescriptionsHeader.setSpacing(false);
prescriptionsHeader.setWidth(100, Unit.PERCENTAGE);
HorizontalLayout headlineRow = new HorizontalLayout();
headlineRow.setMargin(false);
headlineRow.setSpacing(true);
headlineRow.setWidth(100, Unit.PERCENTAGE);
{
Label prescriptionsLabel = new Label(I18nProperties.getString(Strings.entityPrescriptions));
CssStyles.style(prescriptionsLabel, CssStyles.H3);
headlineRow.addComponent(prescriptionsLabel);
headlineRow.setExpandRatio(prescriptionsLabel, 1);
// Bulk operations
if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS)) {
MenuBar bulkOperationsDropdown = MenuBarHelper.createDropDown(Captions.bulkActions, new MenuBarHelper.MenuBarItem(I18nProperties.getCaption(Captions.bulkDelete), VaadinIcons.TRASH, selectedItem -> {
ControllerProvider.getTherapyController().deleteAllSelectedPrescriptions(prescriptionGrid.getSelectedRows(), new Runnable() {
public void run() {
reloadPrescriptionGrid();
}
});
}));
headlineRow.addComponent(bulkOperationsDropdown);
headlineRow.setComponentAlignment(bulkOperationsDropdown, Alignment.MIDDLE_RIGHT);
}
Button newPrescriptionButton = ButtonHelper.createButton(Captions.prescriptionNewPrescription, e -> {
ControllerProvider.getTherapyController().openPrescriptionCreateForm(prescriptionCriteria.getTherapy(), this::reloadPrescriptionGrid);
}, ValoTheme.BUTTON_PRIMARY);
headlineRow.addComponent(newPrescriptionButton);
headlineRow.setComponentAlignment(newPrescriptionButton, Alignment.MIDDLE_RIGHT);
}
prescriptionsHeader.addComponent(headlineRow);
HorizontalLayout filterRow = new HorizontalLayout();
filterRow.setMargin(false);
filterRow.setSpacing(true);
{
prescriptionTypeFilter = ComboBoxHelper.createComboBoxV7();
prescriptionTypeFilter.setWidth(140, Unit.PIXELS);
prescriptionTypeFilter.setInputPrompt(I18nProperties.getPrefixCaption(PrescriptionDto.I18N_PREFIX, PrescriptionDto.PRESCRIPTION_TYPE));
prescriptionTypeFilter.addItems((Object[]) TreatmentType.values());
prescriptionTypeFilter.addValueChangeListener(e -> {
prescriptionCriteria.prescriptionType(((TreatmentType) e.getProperty().getValue()));
navigateTo(prescriptionCriteria);
});
filterRow.addComponent(prescriptionTypeFilter);
prescriptionTextFilter = new TextField();
prescriptionTextFilter.setWidth(300, Unit.PIXELS);
prescriptionTextFilter.setNullRepresentation("");
prescriptionTextFilter.setInputPrompt(I18nProperties.getString(Strings.promptPrescriptionTextFilter));
prescriptionTextFilter.addTextChangeListener(e -> {
prescriptionCriteria.textFilter(e.getText());
reloadPrescriptionGrid();
});
filterRow.addComponent(prescriptionTextFilter);
}
prescriptionsHeader.addComponent(filterRow);
return prescriptionsHeader;
}
use of com.vaadin.v7.ui.VerticalLayout in project SORMAS-Project by hzi-braunschweig.
the class VisitEditForm method addFields.
@Override
protected void addFields() {
if (disease == null) {
// workaround to stop initialization until disease is set
return;
}
VerticalLayout layoutPhoneLink = new VerticalLayout();
layoutPhoneLink.setSpacing(false);
layoutPhoneLink.setMargin(false);
layoutPhoneLink.setWidth(100, Unit.PERCENTAGE);
Label labelPhoneLink = new Label((I18nProperties.getCaption(Captions.contactPersonPhoneNumber)));
labelPhoneLink.setPrimaryStyleName("v-caption");
layoutPhoneLink.addComponent(labelPhoneLink);
Link linkPhone = new Link(this.person.getPhone(), new ExternalResource(PHONE_LINK_PREFIX + this.person.getPhone()));
linkPhone.setWidth(100, Unit.PERCENTAGE);
layoutPhoneLink.addComponent(linkPhone);
getContent().addComponent(layoutPhoneLink, CONTACT_PERSON_PHONE_NUMBER_LOC);
addField(VisitDto.VISIT_DATE_TIME, DateTimeField.class);
NullableOptionGroup visitStatus = addField(VisitDto.VISIT_STATUS, NullableOptionGroup.class);
addField(VisitDto.VISIT_REMARKS, TextField.class).setDescription(I18nProperties.getPrefixDescription(VisitDto.I18N_PREFIX, VisitDto.VISIT_REMARKS) + "\n" + I18nProperties.getDescription(Descriptions.descGdpr));
symptomsForm = new SymptomsForm(null, disease, person, SymptomsContext.VISIT, null, fieldAccessCheckers);
getFieldGroup().bind(symptomsForm, VisitDto.SYMPTOMS);
getContent().addComponent(symptomsForm, VisitDto.SYMPTOMS);
setRequired(true, VisitDto.VISIT_DATE_TIME, VisitDto.VISIT_STATUS);
initializeAccessAndAllowedAccesses();
if (contact != null) {
Date startDate = ContactLogic.getStartDate(contact);
addDateValidation(startDate, startDate, contact.getLastContactDate() != null ? Validations.visitBeforeLastContactDate : Validations.visitBeforeContactReport, contact.getFollowUpUntil());
}
if (caze != null) {
addDateValidation(CaseLogic.getStartDate(caze), caze.getReportDate(), caze.getSymptoms().getOnsetDate() != null ? Validations.visitBeforeSymptomsOnSet : Validations.visitBeforeCaseReport, CaseLogic.getEndDate(caze.getSymptoms().getOnsetDate(), caze.getReportDate(), caze.getFollowUpUntil()));
}
symptomsForm.initializeSymptomRequirementsForVisit((NullableOptionGroup) getFieldGroup().getField(VisitDto.VISIT_STATUS));
FieldHelper.setEnabledWhen(getFieldGroup(), visitStatus, Arrays.asList(VisitStatus.COOPERATIVE), Arrays.asList(VisitDto.SYMPTOMS), true);
}
use of com.vaadin.v7.ui.VerticalLayout in project SORMAS-Project by hzi-braunschweig.
the class EventParticipantsView method createTopBar.
public HorizontalLayout createTopBar() {
HorizontalLayout topLayout = new HorizontalLayout();
topLayout.setSpacing(true);
topLayout.setWidth("100%");
VerticalLayout exportLayout = new VerticalLayout();
{
exportLayout.setSpacing(true);
exportLayout.setMargin(true);
exportLayout.addStyleName(CssStyles.LAYOUT_MINIMAL);
exportLayout.setWidth(250, Unit.PIXELS);
}
// import
if (UserProvider.getCurrent().hasUserRight(UserRight.EVENTPARTICIPANT_IMPORT)) {
Button importButton = ButtonHelper.createIconButton(Captions.actionImport, VaadinIcons.UPLOAD, e -> {
Window popupWindow = VaadinUiUtil.showPopupWindow(new EventParticipantImportLayout(getEventRef()));
popupWindow.setCaption(I18nProperties.getString(Strings.headingImportEventParticipant));
popupWindow.addCloseListener(c -> this.grid.reload());
}, ValoTheme.BUTTON_PRIMARY);
addHeaderComponent(importButton);
}
// export
PopupButton exportPopupButton = ButtonHelper.createIconPopupButton(Captions.export, VaadinIcons.DOWNLOAD, exportLayout);
addHeaderComponent(exportPopupButton);
{
StreamResource streamResource = GridExportStreamResource.createStreamResourceWithSelectedItems(grid, () -> this.grid.getSelectionModel() instanceof MultiSelectionModelImpl ? this.grid.asMultiSelect().getSelectedItems() : null, ExportEntityName.EVENT_PARTICIPANTS);
addExportButton(streamResource, exportPopupButton, exportLayout, VaadinIcons.TABLE, Captions.exportBasic, Strings.infoBasicExport);
}
{
StreamResource extendedExportStreamResource = EventParticipantDownloadUtil.createExtendedEventParticipantExportResource(grid.getCriteria(), this::getSelectedRows, null);
addExportButton(extendedExportStreamResource, exportPopupButton, exportLayout, VaadinIcons.FILE_TEXT, Captions.exportDetailed, Descriptions.descDetailedExportButton);
}
{
Button btnCustomExport = ButtonHelper.createIconButton(Captions.exportCustom, VaadinIcons.FILE_TEXT, e -> {
Window customExportWindow = VaadinUiUtil.createPopupWindow();
ExportConfigurationsLayout customExportsLayout = new ExportConfigurationsLayout(ExportType.EVENT_PARTICIPANTS, ImportExportUtils.getEventParticipantExportProperties(EventParticipantDownloadUtil::getPropertyCaption, FacadeProvider.getConfigFacade().getCountryLocale()), customExportWindow::close);
customExportsLayout.setExportCallback((exportConfig) -> Page.getCurrent().open(EventParticipantDownloadUtil.createExtendedEventParticipantExportResource(grid.getCriteria(), this::getSelectedRows, exportConfig), null, true));
customExportWindow.setWidth(1024, Unit.PIXELS);
customExportWindow.setCaption(I18nProperties.getCaption(Captions.exportCustom));
customExportWindow.setContent(customExportsLayout);
UI.getCurrent().addWindow(customExportWindow);
exportPopupButton.setPopupVisible(false);
}, ValoTheme.BUTTON_PRIMARY);
btnCustomExport.setDescription(I18nProperties.getString(Strings.infoCustomExport));
btnCustomExport.setWidth(100, Unit.PERCENTAGE);
exportLayout.addComponent(btnCustomExport);
}
filterForm = new EventParticipantsFilterForm();
filterForm.addValueChangeListener(e -> {
if (!filterForm.hasFilter()) {
navigateTo(null);
}
});
filterForm.addResetHandler(e -> {
ViewModelProviders.of(EventParticipantsView.class).remove(EventParticipantCriteria.class);
navigateTo(null);
});
filterForm.addApplyHandler(e -> navigateTo(criteria));
topLayout.addComponent(filterForm);
// Bulk operation dropdown
if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS_EVENTPARTICIPANT)) {
topLayout.setWidth(100, Unit.PERCENTAGE);
List<MenuBarHelper.MenuBarItem> bulkActions = new ArrayList<>();
bulkActions.add(new MenuBarHelper.MenuBarItem(I18nProperties.getCaption(Captions.bulkEventParticipantsToContacts), VaadinIcons.HAND, mi -> {
grid.bulkActionHandler(items -> {
EventDto eventDto = FacadeProvider.getEventFacade().getEventByUuid(getEventRef().getUuid(), false);
ControllerProvider.getContactController().openLineListingWindow(eventDto, items);
}, true);
}));
if (UserProvider.getCurrent().hasUserRight(UserRight.EVENTPARTICIPANT_DELETE)) {
bulkActions.add(new MenuBarHelper.MenuBarItem(I18nProperties.getCaption(Captions.bulkDelete), VaadinIcons.TRASH, mi -> {
grid.bulkActionHandler(items -> {
ControllerProvider.getEventParticipantController().deleteAllSelectedItems(items, () -> navigateTo(criteria));
}, true);
}));
}
if (isDocGenerationAllowed()) {
bulkActions.add(new MenuBarHelper.MenuBarItem(I18nProperties.getCaption(Captions.bulkActionCreatDocuments), VaadinIcons.FILE_TEXT, mi -> {
grid.bulkActionHandler(items -> {
List<EventParticipantReferenceDto> references = grid.asMultiSelect().getSelectedItems().stream().map(EventParticipantIndexDto::toReference).collect(Collectors.toList());
if (references.size() == 0) {
new Notification(I18nProperties.getString(Strings.headingNoEventParticipantsSelected), I18nProperties.getString(Strings.messageNoEventParticipantsSelected), Notification.Type.WARNING_MESSAGE, false).show(Page.getCurrent());
return;
}
EventDto eventDto = FacadeProvider.getEventFacade().getEventByUuid(getEventRef().getUuid(), false);
ControllerProvider.getDocGenerationController().showBulkEventParticipantQuarantineOrderDocumentDialog(references, eventDto.getDisease());
});
}));
}
MenuBar bulkOperationsDropdown = MenuBarHelper.createDropDown(Captions.bulkActions, bulkActions);
topLayout.addComponent(bulkOperationsDropdown);
topLayout.setComponentAlignment(bulkOperationsDropdown, Alignment.TOP_RIGHT);
}
topLayout.addStyleName(CssStyles.VSPACE_3);
return topLayout;
}
use of com.vaadin.v7.ui.VerticalLayout in project opencms-core by alkacon.
the class CmsProjectsTable method showProjectResources.
/**
* Displays project resources in a popup dialog.
*
* @param item the item from which to take the project resources
*/
public static void showProjectResources(Item item) {
VerticalLayout layout = new VerticalLayout();
ProjectResources pr = (ProjectResources) (item.getItemProperty(PROP_RESOURCES).getValue());
for (String path : pr) {
layout.addComponent(new Label(path));
}
layout.setSpacing(false);
CmsBasicDialog dialog = new CmsBasicDialog();
dialog.setContent(layout);
Window window = CmsBasicDialog.prepareWindow(DialogWidth.wide);
String ou = "" + item.getItemProperty(PROP_ORG_UNIT).getValue();
String project = "" + item.getItemProperty(PROP_NAME).getValue();
String caption = CmsVaadinUtils.getMessageText(org.opencms.ui.apps.Messages.GUI_PROJECTS_RESOURCES_POPUP_CAPTION_2, project, ou);
window.setCaption(caption);
window.setContent(dialog);
CmsAppWorkplaceUi.get().addWindow(window);
}
Aggregations