Example usage for com.vaadin.ui.renderers HtmlRenderer HtmlRenderer

List of usage examples for com.vaadin.ui.renderers HtmlRenderer HtmlRenderer

Introduction

In this page you can find the example usage for com.vaadin.ui.renderers HtmlRenderer HtmlRenderer.

Prototype

public HtmlRenderer() 

Source Link

Document

Creates a new HTML renderer.

Usage

From source file:de.metas.ui.web.vaadin.window.components.AWindowTabGridLayout.java

License:Open Source License

public AWindowTabGridLayout(final WindowContext windowContext, final DataRowContainer container) {
    super();/*  ww w .  j ava2  s.c  o m*/
    setSizeFull();

    final DataRowDescriptor descriptor = container.getDescriptor();

    setContainerDataSource(container);
    setColumns(descriptor.getColumnNamesInGridOrder().toArray());

    // NOTE: because when the container is set, the field group is reset, we are setting it here, after we set the container
    final AWindowTabFieldGroup binder = AWindowTabFieldGroup.builder().setWindowContext(windowContext)
            .setDescriptor(descriptor).setGridMode().setBuffered(true) // FIXME: atm setting it to false, because else row prev/next navigation is not working
            .build();
    setEditorFieldGroup(binder);
    setEditorBuffered(binder.isBuffered());
    setEditorEnabled(true);
    setEditorSaveCaption("Save the shit");
    setEditorCancelCaption("Cancel it!");

    //
    // Setup columns
    for (final DataFieldPropertyDescriptor fieldDescriptor : descriptor.getFieldDescriptors()) {
        final String columnName = fieldDescriptor.getColumnName();
        final Column column = getColumn(columnName);
        if (column == null) {
            continue;
        }

        column.setHeaderCaption(fieldDescriptor.getCaption());
        column.setHidable(true);

        final Class<?> modelType = fieldDescriptor.getValueClass();
        if (Boolean.class.equals(modelType)) {
            column.setRenderer(new HtmlRenderer(), CONVERTER_Boolean);
            continue;
        }

        if (BigDecimal.class.equals(modelType)) {
            column.setRenderer(new NumberRenderer());
            continue;
        }

        if (Date.class.equals(modelType)) {
            // TODO: use DateRenderer and convert from DisplayType.getDateFormat to http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax
        }

        //         final Converter<?, ?> converter = binder.getConverter(columnName);
        //         if (converter != null)
        //         {
        //            column.setRenderer(new TextRenderer(), StringPresentationConverter.of(converter));
        //         }
    }

    // setFrozenColumnCount(2);

    addItemClickListener(new ItemClickListener() {

        @Override
        public void itemClick(final ItemClickEvent event) {
            editItem(event.getItemId());
        }
    });
}

From source file:de.symeda.sormas.ui.configuration.infrastructure.CommunitiesGrid.java

License:Open Source License

public CommunitiesGrid() {
    super(CommunityDto.class);
    setSizeFull();//from   w  w w. j a  va 2s.c om
    setSelectionMode(SelectionMode.NONE);

    DataProvider<CommunityDto, CommunityCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getCommunityFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getCommunityFacade().count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    setColumns(CommunityDto.NAME, CommunityDto.REGION, CommunityDto.DISTRICT);

    if (UserProvider.getCurrent().hasUserRight(UserRight.INFRASTRUCTURE_EDIT)) {
        Column<CommunityDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
                new HtmlRenderer());
        editColumn.setId(EDIT_BTN_ID);
        editColumn.setWidth(20);

        addItemClickListener(e -> {
            if (e.getColumn() != null && (EDIT_BTN_ID.equals(e.getColumn().getId())
                    || e.getMouseEventDetails().isDoubleClick())) {
                ControllerProvider.getInfrastructureController().editCommunity(e.getItem().getUuid());
            }
        });
    }

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(CommunityDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }
}

From source file:de.symeda.sormas.ui.configuration.infrastructure.DistrictsGrid.java

License:Open Source License

public DistrictsGrid() {
    super(DistrictDto.class);
    setSizeFull();//from w ww.  j a v  a 2s  .  com
    setSelectionMode(SelectionMode.NONE);

    DataProvider<DistrictDto, DistrictCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getDistrictFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getDistrictFacade().count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    setColumns(DistrictDto.NAME, DistrictDto.REGION, DistrictDto.EPID_CODE, DistrictDto.POPULATION,
            DistrictDto.GROWTH_RATE);

    if (UserProvider.getCurrent().hasUserRight(UserRight.INFRASTRUCTURE_EDIT)) {
        Column<DistrictDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
                new HtmlRenderer());
        editColumn.setId(EDIT_BTN_ID);
        editColumn.setWidth(20);

        addItemClickListener(e -> {
            if (e.getColumn() != null && (EDIT_BTN_ID.equals(e.getColumn().getId())
                    || e.getMouseEventDetails().isDoubleClick())) {
                ControllerProvider.getInfrastructureController().editDistrict(e.getItem().getUuid());
            }
        });
    }

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(DistrictDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }
}

From source file:de.symeda.sormas.ui.configuration.infrastructure.FacilitiesGrid.java

License:Open Source License

public FacilitiesGrid() {
    super(FacilityDto.class);
    setSizeFull();//  w w w  . j  a va 2  s .  c  om
    setSelectionMode(SelectionMode.NONE);

    DataProvider<FacilityDto, FacilityCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getFacilityFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getFacilityFacade().count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    setColumns(FacilityDto.NAME, FacilityDto.REGION, FacilityDto.DISTRICT, FacilityDto.COMMUNITY,
            FacilityDto.CITY, FacilityDto.LATITUDE, FacilityDto.LONGITUDE);

    if (UserProvider.getCurrent().hasUserRight(UserRight.INFRASTRUCTURE_EDIT)) {
        Column<FacilityDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
                new HtmlRenderer());
        editColumn.setId(EDIT_BTN_ID);
        editColumn.setWidth(20);

        addItemClickListener(e -> {
            if (e.getColumn() != null && (EDIT_BTN_ID.equals(e.getColumn().getId())
                    || e.getMouseEventDetails().isDoubleClick())) {
                ControllerProvider.getInfrastructureController().editHealthFacility(e.getItem().getUuid());
            }
        });
    }

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(FacilityDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }
}

From source file:de.symeda.sormas.ui.configuration.infrastructure.RegionsGrid.java

License:Open Source License

public RegionsGrid() {
    super(RegionDto.class);
    setSizeFull();//from  w  w w .j  a  v  a2s .c  om
    setSelectionMode(SelectionMode.NONE);

    DataProvider<RegionDto, RegionCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getRegionFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getRegionFacade().count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    setColumns(RegionDto.NAME, RegionDto.EPID_CODE, RegionDto.POPULATION, RegionDto.GROWTH_RATE);

    if (UserProvider.getCurrent().hasUserRight(UserRight.INFRASTRUCTURE_EDIT)) {
        Column<RegionDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
                new HtmlRenderer());
        editColumn.setId(EDIT_BTN_ID);
        editColumn.setWidth(20);

        addItemClickListener(e -> {
            if (e.getColumn() != null && (EDIT_BTN_ID.equals(e.getColumn().getId())
                    || e.getMouseEventDetails().isDoubleClick())) {
                ControllerProvider.getInfrastructureController().editRegion(e.getItem().getUuid());
            }
        });
    }

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(RegionDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }
}

From source file:de.symeda.sormas.ui.events.EventParticipantsGrid.java

License:Open Source License

@SuppressWarnings("unchecked")
public EventParticipantsGrid() {
    super(EventParticipantIndexDto.class);
    setSizeFull();//from   ww  w.  j a  v a  2s. co m

    if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS)) {
        setSelectionMode(SelectionMode.MULTI);
    } else {
        setSelectionMode(SelectionMode.NONE);
    }

    DataProvider<EventParticipantIndexDto, EventParticipantCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getEventParticipantFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getEventParticipantFacade()
                                .count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    Column<EventParticipantIndexDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
            new HtmlRenderer());
    editColumn.setId(EDIT_BTN_ID);
    editColumn.setWidth(20);

    Column<EventParticipantIndexDto, String> caseIdColumn = addColumn(entry -> {
        if (entry.getCaseUuid() != null) {
            return entry.getCaseUuid();
        } else {
            return "";
        }
    });
    caseIdColumn.setId(CASE_ID);
    caseIdColumn.setSortProperty(EventParticipantIndexDto.CASE_UUID);
    caseIdColumn.setRenderer(new CaseUuidRenderer(true));

    setColumns(EDIT_BTN_ID, EventParticipantIndexDto.PERSON_UUID, EventParticipantIndexDto.NAME,
            EventParticipantIndexDto.SEX, EventParticipantIndexDto.APPROXIMATE_AGE,
            EventParticipantIndexDto.INVOLVEMENT_DESCRIPTION, CASE_ID);

    ((Column<EventParticipantIndexDto, String>) getColumn(EventParticipantIndexDto.PERSON_UUID))
            .setRenderer(new UuidRenderer());

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(EventParticipantIndexDto.I18N_PREFIX,
                column.getId().toString(), column.getCaption()));
    }

    addItemClickListener(e -> {
        if (e.getColumn() != null && CASE_ID.equals(e.getColumn().getId())) {
            if (e.getItem().getCaseUuid() != null) {
                ControllerProvider.getCaseController().navigateToCase(e.getItem().getCaseUuid());
            } else {
                EventDto event = FacadeProvider.getEventFacade().getEventByUuid(e.getItem().getEventUuid());
                ControllerProvider.getCaseController().create(e.getItem().getPersonUuid(), event.getDisease(),
                        e.getItem().getUuid());
            }
        } else if (e.getColumn() != null
                && (EDIT_BTN_ID.equals(e.getColumn().getId()) || e.getMouseEventDetails().isDoubleClick())) {
            ControllerProvider.getEventParticipantController().editEventParticipant(e.getItem().getUuid());
        }
    });
}

From source file:de.symeda.sormas.ui.samples.SampleGrid.java

License:Open Source License

@SuppressWarnings("unchecked")
public SampleGrid() {
    super(SampleIndexDto.class);
    setSizeFull();/* ww  w .  ja  v a2s.  co  m*/

    if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS)) {
        setSelectionMode(SelectionMode.MULTI);
    } else {
        setSelectionMode(SelectionMode.NONE);
    }

    DataProvider<SampleIndexDto, SampleCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getSampleFacade()
                    .getIndexList(UserProvider.getCurrent().getUuid(), query.getFilter().orElse(null),
                            query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getSampleFacade().count(UserProvider.getCurrent().getUuid(),
                                query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    Column<SampleIndexDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
            new HtmlRenderer());
    editColumn.setId(EDIT_BTN_ID);
    editColumn.setWidth(20);

    Column<SampleIndexDto, String> diseaseShortColumn = addColumn(
            sample -> DiseaseHelper.toString(sample.getDisease(), sample.getDiseaseDetails()));
    diseaseShortColumn.setId(DISEASE_SHORT);
    diseaseShortColumn.setSortProperty(SampleIndexDto.DISEASE);

    Column<SampleIndexDto, String> pathogenTestResultColumn = addColumn(sample -> {
        if (sample.getPathogenTestResult() != null) {
            return sample.getPathogenTestResult().toString();
        } else if (sample.getSpecimenCondition() == SpecimenCondition.NOT_ADEQUATE) {
            return I18nProperties.getCaption(Captions.sampleSpecimenNotAdequate);
        } else {
            return "";
        }
    });
    pathogenTestResultColumn.setId(PATHOGEN_TEST_RESULT);
    pathogenTestResultColumn.setSortProperty(SampleIndexDto.PATHOGEN_TEST_RESULT);

    setColumns(EDIT_BTN_ID, SampleIndexDto.LAB_SAMPLE_ID, SampleIndexDto.EPID_NUMBER,
            SampleIndexDto.ASSOCIATED_CASE, DISEASE_SHORT, SampleIndexDto.CASE_DISTRICT, SampleIndexDto.SHIPPED,
            SampleIndexDto.RECEIVED, SampleIndexDto.SHIPMENT_DATE, SampleIndexDto.RECEIVED_DATE,
            SampleIndexDto.LAB, SampleIndexDto.SAMPLE_MATERIAL, PATHOGEN_TEST_RESULT,
            SampleIndexDto.ADDITIONAL_TESTING_STATUS);

    ((Column<SampleIndexDto, Date>) getColumn(SampleIndexDto.SHIPMENT_DATE))
            .setRenderer(new DateRenderer(DateHelper.getLocalDateFormat()));
    ((Column<SampleIndexDto, Date>) getColumn(SampleIndexDto.RECEIVED_DATE))
            .setRenderer(new DateRenderer(DateHelper.getLocalDateFormat()));
    ((Column<SampleIndexDto, Boolean>) getColumn(SampleIndexDto.SHIPPED)).setRenderer(new BooleanRenderer());
    ((Column<SampleIndexDto, String>) getColumn(SampleIndexDto.RECEIVED)).setRenderer(new BooleanRenderer());
    ((Column<SampleIndexDto, String>) getColumn(SampleIndexDto.LAB)).setMaximumWidth(200);
    ((Column<SampleIndexDto, String>) getColumn(SampleIndexDto.ADDITIONAL_TESTING_STATUS)).setSortable(false);

    if (UserProvider.getCurrent().hasUserRole(UserRole.LAB_USER)
            || UserProvider.getCurrent().hasUserRole(UserRole.EXTERNAL_LAB_USER)) {
        removeColumn(SampleIndexDto.SHIPMENT_DATE);
    } else {
        removeColumn(SampleIndexDto.RECEIVED_DATE);
    }

    if (UserProvider.getCurrent().hasUserRole(UserRole.EXTERNAL_LAB_USER)) {
        removeColumn(SampleIndexDto.ASSOCIATED_CASE);
    }

    if (!UserProvider.getCurrent().hasUserRight(UserRight.ADDITIONAL_TEST_VIEW)) {
        removeColumn(SampleIndexDto.ADDITIONAL_TESTING_STATUS);
    }

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(SampleIndexDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }

    addItemClickListener(e -> {
        if (e.getColumn() != null
                && (EDIT_BTN_ID.equals(e.getColumn().getId()) || e.getMouseEventDetails().isDoubleClick())) {
            ControllerProvider.getSampleController().navigateToData(e.getItem().getUuid());
        }
    });
}

From source file:de.symeda.sormas.ui.task.TaskGrid.java

License:Open Source License

@SuppressWarnings("unchecked")
public TaskGrid() {
    super(TaskIndexDto.class);
    setSizeFull();//from w ww. j  av  a2 s .c  o  m

    if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS)) {
        setSelectionMode(SelectionMode.MULTI);
    } else {
        setSelectionMode(SelectionMode.NONE);
    }

    DataProvider<TaskIndexDto, TaskCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getTaskFacade()
                    .getIndexList(UserProvider.getCurrent().getUuid(), query.getFilter().orElse(null),
                            query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getTaskFacade().count(UserProvider.getCurrent().getUuid(),
                                query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    Column<TaskIndexDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
            new HtmlRenderer());
    editColumn.setId(EDIT_BTN_ID);
    editColumn.setWidth(20);

    setStyleGenerator(item -> {
        if (item != null && item.getTaskStatus() != null) {
            switch (item.getTaskStatus()) {
            case REMOVED:
                return CssStyles.GRID_ROW_STATUS_DISCARDED;
            case NOT_EXECUTABLE:
                return CssStyles.GRID_ROW_STATUS_NOT;
            case DONE:
                return CssStyles.GRID_ROW_STATUS_DONE;
            case PENDING:
                return CssStyles.GRID_ROW_STATUS_PENDING;
            default:
                throw new IndexOutOfBoundsException(item.getTaskStatus().toString());
            }
        }
        return null;
    });

    setColumns(EDIT_BTN_ID, TaskIndexDto.CONTEXT_REFERENCE, TaskIndexDto.TASK_TYPE, TaskIndexDto.PRIORITY,
            TaskIndexDto.SUGGESTED_START, TaskIndexDto.DUE_DATE, TaskIndexDto.ASSIGNEE_USER,
            TaskIndexDto.ASSIGNEE_REPLY, TaskIndexDto.CREATOR_USER, TaskIndexDto.CREATOR_COMMENT,
            TaskIndexDto.TASK_STATUS);

    ((Column<TaskIndexDto, Date>) getColumn(TaskIndexDto.DUE_DATE))
            .setRenderer(new DateRenderer(DateHelper.getLocalDateTimeFormat()));
    ((Column<TaskIndexDto, Date>) getColumn(TaskIndexDto.SUGGESTED_START))
            .setRenderer(new DateRenderer(DateHelper.getLocalDateTimeFormat()));
    ((Column<TaskIndexDto, String>) getColumn(TaskIndexDto.CREATOR_COMMENT))
            .setRenderer(new ShortStringRenderer(50));

    Column<TaskIndexDto, ReferenceDto> contextColumn = (Column<TaskIndexDto, ReferenceDto>) getColumn(
            TaskIndexDto.CONTEXT_REFERENCE);
    contextColumn.setRenderer(new ReferenceDtoHtmlProvider(), new HtmlRenderer());
    contextColumn.setSortable(false);

    Column<TaskIndexDto, UserReferenceDto> assigneeUserColumn = (Column<TaskIndexDto, UserReferenceDto>) getColumn(
            TaskIndexDto.ASSIGNEE_USER);
    assigneeUserColumn.setRenderer(user -> {
        String html;
        if (user != null) {
            html = ControllerProvider.getTaskController().getUserCaptionWithPendingTaskCount(user);
        } else {
            html = "";
        }
        return html;
    }, new HtmlRenderer());

    Column<TaskIndexDto, TaskPriority> priorityColumn = (Column<TaskIndexDto, TaskPriority>) getColumn(
            TaskIndexDto.PRIORITY);
    priorityColumn.setStyleGenerator(item -> {
        if (item.getPriority() != null) {
            switch (item.getPriority()) {
            case HIGH:
                return CssStyles.GRID_CELL_PRIORITY_HIGH;
            case NORMAL:
                return CssStyles.GRID_CELL_PRIORITY_NORMAL;
            case LOW:
                return CssStyles.GRID_CELL_PRIORITY_LOW;
            default:
                throw new IndexOutOfBoundsException(item.getPriority().toString());
            }
        }
        return null;
    });

    Column<TaskIndexDto, Date> dueDateColumn = (Column<TaskIndexDto, Date>) getColumn(TaskIndexDto.DUE_DATE);
    dueDateColumn.setStyleGenerator(item -> {
        Date dueDate = item.getDueDate();
        if (dueDate != null && dueDate.before(new Date())) {
            return CssStyles.GRID_CELL_WARNING;
        }
        return null;
    });

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(TaskIndexDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }

    addItemClickListener(this);
}

From source file:de.symeda.sormas.ui.user.UserGrid.java

License:Open Source License

@SuppressWarnings("unchecked")
public UserGrid() {
    super(UserDto.class);
    setSizeFull();/*from  w  w w . ja va 2  s  . com*/

    setSelectionMode(SelectionMode.NONE);

    DataProvider<UserDto, UserCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getUserFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getUserFacade().count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    Column<UserDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(), new HtmlRenderer());
    editColumn.setId(EDIT_BTN_ID);
    editColumn.setWidth(20);

    setColumns(EDIT_BTN_ID, UserDto.UUID, UserDto.ACTIVE, UserDto.USER_ROLES, UserDto.USER_NAME, UserDto.NAME,
            UserDto.USER_EMAIL, UserDto.ADDRESS, UserDto.DISTRICT, UserDto.HEALTH_FACILITY);

    ((Column<UserDto, String>) getColumn(UserDto.UUID)).setRenderer(new UuidRenderer());
    ((Column<UserDto, Set<UserRole>>) getColumn(UserDto.USER_ROLES))
            .setRenderer(new CollectionValueProvider<Set<UserRole>>(), new HtmlRenderer());
    ((Column<UserDto, Set<UserRole>>) getColumn(UserDto.USER_ROLES)).setSortable(false);
    ((Column<UserDto, Boolean>) getColumn(UserDto.ACTIVE)).setRenderer(value -> String.valueOf(value),
            new ActiveRenderer());

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(UserDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }

    addItemClickListener(e -> {
        if ((e.getColumn() != null && EDIT_BTN_ID.equals(e.getColumn().getId()))
                || e.getMouseEventDetails().isDoubleClick()) {
            ControllerProvider.getUserController().edit(e.getItem());
        }
    });
}

From source file:de.symeda.sormas.ui.visit.VisitGrid.java

License:Open Source License

@SuppressWarnings("unchecked")
public VisitGrid() {
    super(VisitIndexDto.class);
    setSizeFull();//from   w w w.  j a  va 2s . co  m

    if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS)) {
        setSelectionMode(SelectionMode.MULTI);
    } else {
        setSelectionMode(SelectionMode.NONE);
    }

    DataProvider<VisitIndexDto, VisitCriteria> dataProvider = DataProvider
            .fromFilteringCallbacks(query -> FacadeProvider.getVisitFacade()
                    .getIndexList(query.getFilter().orElse(null), query.getOffset(), query.getLimit(),
                            query.getSortOrders().stream()
                                    .map(sortOrder -> new SortProperty(sortOrder.getSorted(),
                                            sortOrder.getDirection() == SortDirection.ASCENDING))
                                    .collect(Collectors.toList()))
                    .stream(), query -> {
                        return (int) FacadeProvider.getVisitFacade().count(query.getFilter().orElse(null));
                    });
    setDataProvider(dataProvider);

    Column<VisitIndexDto, String> editColumn = addColumn(entry -> VaadinIcons.EDIT.getHtml(),
            new HtmlRenderer());
    editColumn.setId(EDIT_BTN_ID);
    editColumn.setWidth(20);

    setColumns(EDIT_BTN_ID, VisitIndexDto.VISIT_DATE_TIME, VisitIndexDto.VISIT_STATUS,
            VisitIndexDto.VISIT_REMARKS, VisitIndexDto.DISEASE, VisitIndexDto.SYMPTOMATIC,
            VisitIndexDto.TEMPERATURE);

    ((Column<VisitIndexDto, Date>) getColumn(VisitIndexDto.VISIT_DATE_TIME))
            .setRenderer(new DateRenderer(DateHelper.getLocalDateTimeFormat()));
    ((Column<VisitIndexDto, String>) getColumn(VisitIndexDto.SYMPTOMATIC)).setRenderer(new BooleanRenderer());

    for (Column<?, ?> column : getColumns()) {
        column.setCaption(I18nProperties.getPrefixCaption(VisitIndexDto.I18N_PREFIX, column.getId().toString(),
                column.getCaption()));
    }

    addItemClickListener(e -> {
        if (e.getColumn() != null
                && (EDIT_BTN_ID.equals(e.getColumn().getId()) || e.getMouseEventDetails().isDoubleClick())) {
            ControllerProvider.getVisitController().editVisit(e.getItem().getUuid(), getCriteria().getContact(),
                    r -> reload());
        }
    });
}