com.vaadin.v7.ui.TextField.addTextChangeListener() - java examples

Here are the examples of the java api com.vaadin.v7.ui.TextField.addTextChangeListener() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

27 Examples 7

19 View Complete Implementation : FilterFieldGenerator.java
Copyright Apache License 2.0
Author : tepi
private AbstractField<?> createTextField(Object propertyId) {
    final TextField textField = new TextField();
    if (owner.getFilterDecorator() != null) {
        if (owner.getFilterDecorator().isTextFilterImmediate(propertyId)) {
            textField.addTextChangeListener(new TextChangeListener() {

                @Override
                public void textChange(TextChangeEvent event) {
                    textField.setValue(event.getText());
                }
            });
            textField.setTextChangeTimeout(owner.getFilterDecorator().getTextChangeTimeout(propertyId));
        }
        if (owner.getFilterDecorator().getAllItemsVisibleString() != null) {
            textField.setInputPrompt(owner.getFilterDecorator().getAllItemsVisibleString());
        }
    }
    textField.setNullRepresentation("");
    texts.put(textField, propertyId);
    return textField;
}

18 View Complete Implementation : EditDeduperPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildButtonBar() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    editButton = buttonBar.addButton("Edit Columns", FontAwesome.EDIT);
    editButton.addClickListener(new EditButtonClickListener());
    enreplacedyFilterField = buttonBar.addFilter();
    enreplacedyFilterField.addTextChangeListener(event -> updateEnreplacedyTable(event.getText()));
    addComponent(buttonBar);
}

16 View Complete Implementation : EditDataDiffPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildButtonBar() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    if (!readOnly) {
        editButton = buttonBar.addButton("Edit Columns", FontAwesome.EDIT);
        editButton.addClickListener(new EditButtonClickListener());
    }
    enreplacedyFilterField = buttonBar.addFilter();
    enreplacedyFilterField.addTextChangeListener(event -> updateEnreplacedyTable(event.getText()));
    if (!readOnly) {
        Button moveUpButton = buttonBar.addButton("Move Up", FontAwesome.ARROW_UP);
        moveUpButton.addClickListener(new MoveUpClickListener());
        Button moveDownButton = buttonBar.addButton("Move Down", FontAwesome.ARROW_DOWN);
        moveDownButton.addClickListener(new MoveDownClickListener());
        Button moveTopButton = buttonBar.addButton("Move Top", FontAwesome.ANGLE_DOUBLE_UP);
        moveTopButton.addClickListener(new MoveTopClickListener());
        Button moveBottomButton = buttonBar.addButton("Move Bottom", FontAwesome.ANGLE_DOUBLE_DOWN);
        moveBottomButton.addClickListener(new MoveBottomClickListener());
        Button cutButton = buttonBar.addButton("Cut", FontAwesome.CUT);
        cutButton.addClickListener(new CutClickListener());
        Button pasteButton = buttonBar.addButton("Paste", FontAwesome.PASTE);
        pasteButton.addClickListener(new PasteClickListener());
    }
    addComponent(buttonBar);
}

16 View Complete Implementation : EditJsonPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void addColumn(String propertyId, HeaderRow filterRow) {
    grid.getColumn(propertyId).setEditable(false);
    HeaderCell cell = filterRow.getCell(propertyId);
    TextField filterField = new TextField();
    filterField.setInputPrompt("Filter");
    filterField.setImmediate(true);
    filterField.addStyleName(ValoTheme.TEXTFIELD_TINY);
    filterField.setWidth(100, Unit.PERCENTAGE);
    filterField.addTextChangeListener(change -> {
        container.removeContainerFilters(propertyId);
        if (!change.getText().isEmpty()) {
            container.addContainerFilter(new SimpleStringFilter(propertyId, change.getText(), true, false));
        }
    });
    cell.setComponent(filterField);
}

16 View Complete Implementation : GridFilteringWithStreams.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    Grid.HeaderRow filteringHeader = g.appendHeaderRow();
    // Add new TextFields to each column which filters the data from
    // that column
    String columnId = "firstName";
    TextField filter = new MTextField().withFullWidth().withStyleName(ValoTheme.TEXTFIELD_TINY).withInputPrompt("Filter");
    filter.addTextChangeListener(event -> {
        firstNameFilter = event.getText();
        listPersons();
    });
    filteringHeader.getCell(columnId).setComponent(filter);
    filteringHeader.getCell(columnId).setStyleName("filter-header");
    listPersons();
    return g;
}

15 View Complete Implementation : CmsCacheViewApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Layout for the Flex Cache View includings statistics and cache table.<p>
 *
 * @return vaadin component
 */
private Component getFlexViewComponent() {
    final CmsFlexCacheTable table = new CmsFlexCacheTable();
    m_siteTableFilter = new TextField();
    m_siteTableFilter.setIcon(FontOpenCms.FILTER);
    m_siteTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_siteTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    m_siteTableFilter.setWidth("200px");
    m_siteTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            table.filterTable(event.getText());
        }
    });
    m_infoLayout.addComponent(m_siteTableFilter);
    m_uiContext.addToolbarButton(getFlexStatisticButton());
    m_uiContext.addToolbarButton(CmsFlushCache.getFlushToolButton());
    table.setSizeFull();
    return table;
}

15 View Complete Implementation : CmsProjectManager.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Prepares the view to show the project files table.<p>
 *
 * @param projectId the project id
 *
 * @return the project file table
 */
private CmsFileTable prepareProjectFilesTable(CmsUUID projectId) {
    m_rootLayout.setMainHeightFull(true);
    final CmsFileTable fileTable = getProjectFiles(projectId);
    m_fileTableFilter = new TextField();
    m_fileTableFilter.setIcon(FontOpenCms.FILTER);
    m_fileTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_fileTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    m_fileTableFilter.setWidth("200px");
    m_fileTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            fileTable.filterTable(event.getText());
        }
    });
    m_infoLayout.addComponent(m_fileTableFilter);
    return fileTable;
}

15 View Complete Implementation : CmsProjectManager.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * @see org.opencms.ui.apps.A_CmsWorkplaceApp#getComponentForState(java.lang.String)
 */
@Override
protected Component getComponentForState(String state) {
    if (!OpenCms.getRoleManager().hasRole(A_CmsUI.getCmsObject(), CmsRole.PROJECT_MANAGER)) {
        return prepareProjectFilesTable(A_CmsUI.getCmsObject().getRequestContext().getCurrentProject().getUuid());
    } else {
        if (m_fileTableFilter != null) {
            m_infoLayout.removeComponent(m_fileTableFilter);
            m_fileTableFilter = null;
        }
        if (m_projectTableFilter != null) {
            m_infoLayout.removeComponent(m_projectTableFilter);
            m_projectTableFilter = null;
        }
        if (CmsStringUtil.isEmptyOrWhitespaceOnly(state)) {
            m_rootLayout.setMainHeightFull(true);
            if (m_projectsTable == null) {
                m_projectsTable = createProjectsTable();
            } else {
                m_projectsTable.loadProjects();
            }
            m_projectTableFilter = new TextField();
            m_projectTableFilter.setIcon(FontOpenCms.FILTER);
            m_projectTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
            m_projectTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
            m_projectTableFilter.setWidth("200px");
            m_projectTableFilter.addTextChangeListener(new TextChangeListener() {

                private static final long serialVersionUID = 1L;

                public void textChange(TextChangeEvent event) {
                    m_projectsTable.filterTable(event.getText());
                }
            });
            m_infoLayout.addComponent(m_projectTableFilter);
            showNavButtons();
            return m_projectsTable;
        // } else if (state.equals(PATH_NAME_ADD)) {
        // m_rootLayout.setMainHeightFull(false);
        // return getNewProjectForm();
        } else if (state.equals(PATH_NAME_HISTORY)) {
            m_rootLayout.setMainHeightFull(true);
            hideNavButtons();
            return new CmsProjectHistoryTable();
        // } else if (state.startsWith(PATH_NAME_EDIT)) {
        // CmsUUID projectId = getIdFromState(state);
        // if (projectId != null) {
        // m_rootLayout.setMainHeightFull(false);
        // return new CmsEditProjectForm(this, projectId);
        // }
        } else if (state.startsWith(PATH_NAME_FILES)) {
            hideNavButtons();
            CmsUUID projectId = getIdFromState(state);
            if (projectId != null) {
                return prepareProjectFilesTable(projectId);
            }
        }
    }
    return null;
}

15 View Complete Implementation : CmsSessionsApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Adds info layout components.<p>
 */
private void addInfoLayoutComponents() {
    TextField siteTableFilter = new TextField();
    siteTableFilter.setIcon(FontOpenCms.FILTER);
    siteTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    siteTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    siteTableFilter.setWidth("200px");
    siteTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            m_table.filterTable(event.getText());
        }
    });
    m_infoLayout.addComponent(siteTableFilter);
}

15 View Complete Implementation : CmsSiteManager.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * @see org.opencms.ui.apps.A_CmsWorkplaceApp#getComponentForState(java.lang.String)
 */
@Override
protected Component getComponentForState(String state) {
    m_sitesTable = createSitesTable();
    m_rootLayout.setMainHeightFull(true);
    m_siteTableFilter = new TextField();
    m_siteTableFilter.setIcon(FontOpenCms.FILTER);
    m_siteTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_siteTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    m_siteTableFilter.setWidth("200px");
    m_siteTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            m_sitesTable.filter(event.getText());
        }
    });
    m_infoLayout.addComponent(m_siteTableFilter);
    addToolbarButtons();
    return m_sitesTable;
}

15 View Complete Implementation : GridLazyLoadingAndFiltering.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    pagingProvider = new LazyList.PagingProvider<Person>() {

        private static final long serialVersionUID = -9072230332041322210L;

        @Override
        public List<Person> findEnreplacedies(int firstRow) {
            return Service.findByFirstName(firstNameFilter, firstRow, LazyList.DEFAULT_PAGE_SIZE);
        }
    };
    countProvider = new LazyList.CountProvider() {

        private static final long serialVersionUID = -6915320247020779461L;

        @Override
        public int size() {
            return (int) Service.countByFirstName(firstNameFilter);
        }
    };
    MGrid<Person> g = new MGrid<>(Person.clreplaced).lazyLoadFrom(pagingProvider, countProvider);
    Grid.HeaderRow filteringHeader = g.appendHeaderRow();
    // Add new TextFields to each column which filters the data from
    // that column
    String columnId = "firstName";
    TextField filter = new MTextField().withFullWidth().withStyleName(ValoTheme.TEXTFIELD_TINY).withInputPrompt("Filter");
    filter.addTextChangeListener(event -> {
        firstNameFilter = event.getText();
        g.refreshRows();
    });
    filteringHeader.getCell(columnId).setComponent(filter);
    filteringHeader.getCell(columnId).setStyleName("filter-header");
    return g;
}

14 View Complete Implementation : CmsPermissionDialog.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Adds list of entries to layout.<p>
 *
 * @param entries the ace list
 * @param layout layout
 * @param editable boolean
 * @param inheritedRes boolean
 */
private void addEntryTableToLayout(List<CmsAccessControlEntry> entries, VerticalLayout layout, boolean editable, boolean inheritedRes) {
    final CmsPermissionViewTable table = new CmsPermissionViewTable(m_cms, entries, editable, inheritedRes, m_parents, this);
    HorizontalLayout hl = new HorizontalLayout();
    Label label = new Label(CmsVaadinUtils.getMessageText(Messages.GUI_PERMISSION_COUNT_1, new Integer(table.getContainerDataSource().size())));
    label.addStyleName("o-report");
    hl.addComponent(label);
    TextField tableFilter = new TextField();
    tableFilter.setIcon(FontOpenCms.FILTER);
    tableFilter.setInputPrompt(CmsVaadinUtils.getMessageText(org.opencms.ui.apps.Messages.GUI_EXPLORER_FILTER_0));
    tableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    tableFilter.setWidth("200px");
    tableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            table.filterTable(event.getText());
        }
    });
    hl.addComponent(tableFilter);
    hl.setWidth("100%");
    hl.setExpandRatio(label, 1);
    hl.setMargin(true);
    hl.setComponentAlignment(tableFilter, com.vaadin.ui.Alignment.MIDDLE_RIGHT);
    if (table.getContainerDataSource().size() == 0) {
        layout.addComponent(CmsVaadinUtils.getInfoLayout(Messages.GUI_PERMISSION_EMPTY_0));
    } else {
        layout.addComponent(hl);
        layout.addComponent(table);
        CmsVaadinUtils.centerWindow(this);
    }
}

13 View Complete Implementation : EditXsltPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    if (!readOnly) {
        Button testButton = buttonBar.addButton("Test", FontAwesome.FILE_CODE_O);
        testButton.addClickListener(new TestClickListener());
    }
    filterField = buttonBar.addFilter();
    filterField.addTextChangeListener(this);
    HorizontalSplitPanel splitPanel = new HorizontalSplitPanel();
    splitPanel.setSizeFull();
    splitPanel.setSplitPosition(50, Unit.PERCENTAGE);
    VerticalLayout leftLayout = new VerticalLayout();
    editor = new AceEditor();
    editor.setMode(AceMode.xml);
    editor.setSizeFull();
    editor.setHighlightActiveLine(true);
    editor.setShowPrintMargin(false);
    editor.addValueChangeListener(new StylesheetChangeListener());
    editor.setValue(component.findSetting(XsltProcessor.XSLT_PROCESSOR_STYLESHEET).getValue());
    leftLayout.addComponent(new Label("XSLT Stylesheet"));
    leftLayout.addComponent(editor);
    leftLayout.setExpandRatio(editor, 1.0f);
    leftLayout.setSizeFull();
    splitPanel.setFirstComponent(leftLayout);
    VerticalLayout rightLayout = new VerticalLayout();
    rightLayout.setSizeFull();
    rightLayout.addComponent(new Label("Sample Input XML"));
    textArea = new TextArea();
    textArea.setEnabled(false);
    textArea.setSizeFull();
    textArea.setValue(getSampleXml());
    rightLayout.addComponent(textArea);
    rightLayout.setExpandRatio(textArea, 1.0f);
    splitPanel.setSecondComponent(rightLayout);
    addComponent(splitPanel);
    setExpandRatio(splitPanel, 1.0f);
    textArea.setReadOnly(readOnly);
    editor.setReadOnly(readOnly);
}

12 View Complete Implementation : CmsSourceSearchApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * @see org.opencms.ui.apps.A_CmsWorkplaceApp#getComponentForState(java.lang.String)
 */
@Override
protected Component getComponentForState(String state) {
    m_rootLayout.setMainHeightFull(true);
    HorizontalSplitPanel sp = new HorizontalSplitPanel();
    sp.setSizeFull();
    m_searchForm = new CmsSourceSearchForm(this);
    sp.setFirstComponent(m_searchForm);
    VerticalLayout result = new VerticalLayout();
    result.setSizeFull();
    m_infoIntroLayout = CmsVaadinUtils.getInfoLayout(Messages.GUI_SOURCESEARCH_INTRO_0);
    m_infoEmptyResult = CmsVaadinUtils.getInfoLayout(Messages.GUI_SOURCESEARCH_EMPTY_0);
    m_resultTable = new CmsFileTable(null);
    result.addComponent(m_resultTable);
    result.addComponent(m_infoEmptyResult);
    result.addComponent(m_infoIntroLayout);
    m_resultTable.setVisible(false);
    m_infoEmptyResult.setVisible(false);
    m_infoIntroLayout.setVisible(true);
    m_resultTable.applyWorkplaceAppSettings();
    m_resultTable.setContextProvider(new I_CmsContextProvider() {

        /**
         * @see org.opencms.ui.apps.I_CmsContextProvider#getDialogContext()
         */
        public I_CmsDialogContext getDialogContext() {
            CmsFileTableDialogContext context = new CmsFileTableDialogContext(CmsProjectManagerConfiguration.APP_ID, ContextType.fileTable, m_resultTable, m_resultTable.getSelectedResources());
            storeCurrentFileSelection(m_resultTable.getSelectedResources());
            context.setEditableProperties(CmsFileExplorer.INLINE_EDIT_PROPERTIES);
            return context;
        }
    });
    m_resultTable.setSizeFull();
    if (m_resultTableFilter == null) {
        m_resultTableFilter = new TextField();
        m_resultTableFilter.setIcon(FontOpenCms.FILTER);
        m_resultTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
        m_resultTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
        m_resultTableFilter.setWidth("200px");
        m_resultTableFilter.addTextChangeListener(new TextChangeListener() {

            private static final long serialVersionUID = 1L;

            public void textChange(TextChangeEvent event) {
                m_resultTable.filterTable(event.getText());
            }
        });
        m_infoLayout.addComponent(m_resultTableFilter);
    }
    sp.setSecondComponent(result);
    sp.setSplitPosition(CmsFileExplorer.LAYOUT_SPLIT_POSITION, Unit.PIXELS);
    if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(state)) {
        CmsSearchReplaceSettings settings = getSettingsFromState(state);
        if (settings != null) {
            m_currentState = state;
            m_searchForm.initFormValues(settings);
            search(settings, false);
        }
    }
    return sp;
}

12 View Complete Implementation : A_CmsEditUserGroupRoleDialog.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Init method.<p>
 */
protected void init() {
    setHeightUndefined();
    removeExistingTable(getLeftTableLayout());
    removeExistingTable(getRightTableLayout());
    final CmsAvailableRoleOrPrincipalTable table = new CmsAvailableRoleOrPrincipalTable(this);
    if (getAvailableItemsIndexedContainer("caption", "icon").size() > 0) {
        getRightTableLayout().addComponent(new FixedHeightPanel(table, ITEM_HEIGHT), 0);
    } else {
        getRightTableLayout().addComponent(new FixedHeightPanel(CmsVaadinUtils.getInfoLayout(getEmptyMessage()), ITEM_HEIGHT));
    }
    if (gereplacedemsOfUserIndexedContainer("prop1", "prop2", "prop3").size() > 0) {
        getLeftTableLayout().addComponent(new FixedHeightPanel(new CmsCurrentRoleOrPrincipalTable(this, m_cms, m_principal), ITEM_HEIGHT), 0);
    } else {
        getLeftTableLayout().addComponent(new FixedHeightPanel(CmsVaadinUtils.getInfoLayout(getEmptyMessage()), ITEM_HEIGHT));
    }
    TextField siteTableFilter = new TextField();
    siteTableFilter.setIcon(FontOpenCms.FILTER);
    siteTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    siteTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    siteTableFilter.setWidth("200px");
    siteTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            table.filterTable(event.getText());
        }
    });
    if (getParentLayout().getComponent(0) instanceof TextField) {
        getParentLayout().removeComponent(getParentLayout().getComponent(1));
        getParentLayout().removeComponent(getParentLayout().getComponent(0));
    }
    HorizontalLayout caps = new HorizontalLayout();
    caps.setSpacing(true);
    caps.setWidth("100%");
    caps.setHeight("30px");
    caps.addComponent(new Label(getCurrentTableCaption()));
    caps.addComponent(new Label(getAddCaptionText()));
    getParentLayout().addComponent(caps, 0);
    getParentLayout().addComponent(siteTableFilter, 0);
    getParentLayout().setComponentAlignment(siteTableFilter, com.vaadin.ui.Alignment.TOP_RIGHT);
    getParentLayout().setExpandRatio(getParentLayout().getComponent(2), 1);
}

11 View Complete Implementation : CmsCacheViewApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Creates the view for the image cache.<p>
 *
 * @return a vaadin vertical layout with the information about the image cache
 */
private Component getImageViewComponent() {
    m_siteTableFilter = new TextField();
    HorizontalSplitPanel sp = new HorizontalSplitPanel();
    sp.setSizeFull();
    VerticalLayout intro = CmsVaadinUtils.getInfoLayout(Messages.GUI_CACHE_IMAGE_INTRODUCTION_0);
    VerticalLayout nullResult = CmsVaadinUtils.getInfoLayout(Messages.GUI_CACHE_IMAGE_NO_RESULTS_0);
    final CmsImageCacheTable table = new CmsImageCacheTable(intro, nullResult, m_siteTableFilter);
    sp.setFirstComponent(new CmsImageCacheInput(table));
    VerticalLayout secC = new VerticalLayout();
    secC.setSizeFull();
    secC.addComponent(intro);
    secC.addComponent(nullResult);
    secC.addComponent(table);
    m_siteTableFilter.setIcon(FontOpenCms.FILTER);
    m_siteTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_siteTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    m_siteTableFilter.setWidth("200px");
    m_siteTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            table.filterTable(event.getText());
        }
    });
    m_infoLayout.addComponent(m_siteTableFilter);
    m_uiContext.addToolbarButton(getImageStatisticButton());
    m_uiContext.addToolbarButton(CmsFlushCache.getFlushToolButton());
    table.setSizeFull();
    sp.setSecondComponent(secC);
    sp.setSplitPosition(CmsFileExplorer.LAYOUT_SPLIT_POSITION, Unit.PIXELS);
    table.setVisible(false);
    nullResult.setVisible(false);
    m_siteTableFilter.setVisible(false);
    return sp;
}

11 View Complete Implementation : EditSorterPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    Button moveUpButton = buttonBar.addButton("Move Up", FontAwesome.ARROW_UP);
    moveUpButton.addClickListener(new MoveUpClickListener());
    Button moveDownButton = buttonBar.addButton("Move Down", FontAwesome.ARROW_DOWN);
    moveDownButton.addClickListener(new MoveDownClickListener());
    Button moveTopButton = buttonBar.addButton("Move Top", FontAwesome.ANGLE_DOUBLE_UP);
    moveTopButton.addClickListener(new MoveTopClickListener());
    Button moveBottomButton = buttonBar.addButton("Move Bottom", FontAwesome.ANGLE_DOUBLE_DOWN);
    moveBottomButton.addClickListener(new MoveBottomClickListener());
    filterTextField = buttonBar.addFilter();
    filterTextField.addTextChangeListener(event -> updateTable(event.getText()));
    table.setContainerDataSource(container);
    table.setSelectable(true);
    table.setSortEnabled(false);
    table.setImmediate(true);
    table.setSizeFull();
    table.setVisibleColumns(new Object[] { "enreplacedyName", "attributeName", "ordinalSetting", "sortSetting" });
    table.setColumnHeaders(new String[] { "Enreplacedy Name", "Attribute Name", "Sort Order", "Sort" });
    table.setTableFieldFactory(new EditFieldFactory());
    table.setCellStyleGenerator(new TableCellStyleGenerator());
    table.setEditable(true);
    table.setMultiSelect(true);
    addComponent(table);
    setExpandRatio(table, 1.0f);
    updateTable(null);
    calculatePositions();
    saveOrdinalSettings();
    saveSortSettings();
}

10 View Complete Implementation : CmsResourceTypeApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * @see org.opencms.ui.apps.A_CmsWorkplaceApp#getComponentForState(java.lang.String)
 */
@Override
protected Component getComponentForState(String state) {
    addToolbarButtons();
    m_table = new CmsResourceTypesTable(this);
    m_resourcetypeTableFilter = new TextField();
    m_resourcetypeTableFilter.setIcon(FontOpenCms.FILTER);
    m_resourcetypeTableFilter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_resourcetypeTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    m_resourcetypeTableFilter.setWidth("200px");
    m_resourcetypeTableFilter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            m_table.filterTable(event.getText());
        }
    });
    m_infoLayout.addComponent(m_resourcetypeTableFilter);
    m_rootLayout.setMainHeightFull(true);
    return m_table;
}

10 View Complete Implementation : RelationalHierarchicalMappingPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    this.inputModel = (RelationalModel) component.getInputModel();
    this.outputModel = (HierarchicalModel) component.getOutputModel();
    ButtonBar buttonBar = new ButtonBar();
    if (!readOnly) {
        addComponent(buttonBar);
        Button byQueryMapButton = buttonBar.addButton("By Query Map", FontAwesome.MAP);
        removeButton = buttonBar.addButton("Remove", FontAwesome.TRASH_O);
        removeButton.setEnabled(false);
        byQueryMapButton.addClickListener(new ByQueryMapListener());
        String queryMethod = component.get(RelationalHierarchicalMapping.HIERARCHICAL_QUERY_METHOD, RelationalHierarchicalMapping.QUERY_METHOD_BY_JOIN);
        if (queryMethod.equalsIgnoreCase(RelationalHierarchicalMapping.QUERY_METHOD_BY_JOIN)) {
            byQueryMapButton.setEnabled(false);
        }
        removeButton.addClickListener(new RemoveListener());
    }
    buttonBar.addButtonRight("Export", FontAwesome.DOWNLOAD, (e) -> export());
    HorizontalLayout replacedleHeader = new HorizontalLayout();
    replacedleHeader.setSpacing(true);
    replacedleHeader.setMargin(new MarginInfo(false, true, false, true));
    replacedleHeader.setWidth(100f, Unit.PERCENTAGE);
    replacedleHeader.addComponent(new Label("<b>Input Model:</b>  " + (component.getInputModel() != null ? component.getInputModel().getName() : "?"), ContentMode.HTML));
    replacedleHeader.addComponent(new Label("<b>Output Model:</b>  " + (component.getOutputModel() != null ? component.getOutputModel().getName() : "?"), ContentMode.HTML));
    addComponent(replacedleHeader);
    HorizontalLayout filterHeader = new HorizontalLayout();
    filterHeader.setSpacing(true);
    filterHeader.setMargin(new MarginInfo(true, true, true, true));
    filterHeader.setWidth(100f, Unit.PERCENTAGE);
    HorizontalLayout srcFilterHeader = new HorizontalLayout();
    srcFilterHeader.setSpacing(true);
    srcFilterHeader.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT);
    filterHeader.addComponent(srcFilterHeader);
    HorizontalLayout dstFilterHeader = new HorizontalLayout();
    dstFilterHeader.setSpacing(true);
    dstFilterHeader.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT);
    filterHeader.addComponent(dstFilterHeader);
    addComponent(filterHeader);
    srcTextFilter = new TextField();
    srcTextFilter.setWidth(20, Unit.EM);
    srcTextFilter.setInputPrompt("Filter");
    srcTextFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    srcTextFilter.setIcon(FontAwesome.SEARCH);
    srcTextFilter.setImmediate(true);
    srcTextFilter.setTextChangeEventMode(TextChangeEventMode.LAZY);
    srcTextFilter.setTextChangeTimeout(200);
    srcTextFilter.addTextChangeListener(new FilterInputTextListener());
    srcFilterHeader.addComponent(srcTextFilter);
    srcMapFilter = new CheckBox("Mapped Only");
    srcMapFilter.addValueChangeListener(new FilterSrcMapListener());
    srcFilterHeader.addComponent(srcMapFilter);
    dstTextFilter = new TextField();
    dstTextFilter.setWidth(20, Unit.EM);
    dstTextFilter.setInputPrompt("Filter");
    dstTextFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    dstTextFilter.setIcon(FontAwesome.SEARCH);
    dstTextFilter.setImmediate(true);
    dstTextFilter.setTextChangeEventMode(TextChangeEventMode.LAZY);
    dstTextFilter.setTextChangeTimeout(200);
    dstTextFilter.addTextChangeListener(new FilterOutputTextListener());
    dstFilterHeader.addComponent(dstTextFilter);
    dstMapFilter = new CheckBox("Mapped Only");
    dstMapFilter.addValueChangeListener(new FilterDstMapListener());
    dstFilterHeader.addComponent(dstMapFilter);
    Panel panel = new Panel();
    VerticalLayout vlay = new VerticalLayout();
    vlay.setSizeFull();
    diagram = new MappingDiagram(context, component, readOnly);
    diagram.setSizeFull();
    vlay.addComponent(diagram);
    panel.setContent(vlay);
    panel.setSizeFull();
    addComponent(panel);
    setExpandRatio(panel, 1.0f);
    diagram.addListener(new EventListener());
    buildByQueryMappingWindow();
}

10 View Complete Implementation : RelationalMappingPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    inputModel = ((RelationalModel) component.getInputModel());
    outputModel = ((RelationalModel) component.getOutputModel());
    ButtonBar buttonBar = new ButtonBar();
    if (!readOnly) {
        addComponent(buttonBar);
        Button autoMapButton = buttonBar.addButton("Auto Map", FontAwesome.FLASH);
        removeButton = buttonBar.addButton("Remove", FontAwesome.TRASH_O);
        removeButton.setEnabled(false);
        autoMapButton.addClickListener(new AutoMapListener());
        removeButton.addClickListener(new RemoveListener());
    }
    buttonBar.addButtonRight("Export", FontAwesome.DOWNLOAD, (e) -> export());
    HorizontalLayout replacedleHeader = new HorizontalLayout();
    replacedleHeader.setSpacing(true);
    replacedleHeader.setMargin(new MarginInfo(false, true, false, true));
    replacedleHeader.setWidth(100f, Unit.PERCENTAGE);
    replacedleHeader.addComponent(new Label("<b>Input Model:</b>  " + (inputModel != null ? inputModel.getName() : "?"), ContentMode.HTML));
    replacedleHeader.addComponent(new Label("<b>Output Model:</b>  " + (outputModel != null ? outputModel.getName() : "?"), ContentMode.HTML));
    addComponent(replacedleHeader);
    HorizontalLayout filterHeader = new HorizontalLayout();
    filterHeader.setSpacing(true);
    filterHeader.setMargin(new MarginInfo(true, true, true, true));
    filterHeader.setWidth(100f, Unit.PERCENTAGE);
    HorizontalLayout srcFilterHeader = new HorizontalLayout();
    srcFilterHeader.setSpacing(true);
    srcFilterHeader.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT);
    filterHeader.addComponent(srcFilterHeader);
    HorizontalLayout dstFilterHeader = new HorizontalLayout();
    dstFilterHeader.setSpacing(true);
    dstFilterHeader.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT);
    filterHeader.addComponent(dstFilterHeader);
    addComponent(filterHeader);
    srcTextFilter = new TextField();
    srcTextFilter.setWidth(20, Unit.EM);
    srcTextFilter.setInputPrompt("Filter");
    srcTextFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    srcTextFilter.setIcon(FontAwesome.SEARCH);
    srcTextFilter.setImmediate(true);
    srcTextFilter.setTextChangeEventMode(TextChangeEventMode.LAZY);
    srcTextFilter.setTextChangeTimeout(200);
    srcTextFilter.addTextChangeListener(new FilterInputTextListener());
    srcFilterHeader.addComponent(srcTextFilter);
    srcMapFilter = new CheckBox("Mapped Only");
    srcMapFilter.addValueChangeListener(new FilterSrcMapListener());
    srcFilterHeader.addComponent(srcMapFilter);
    dstTextFilter = new TextField();
    dstTextFilter.setWidth(20, Unit.EM);
    dstTextFilter.setInputPrompt("Filter");
    dstTextFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    dstTextFilter.setIcon(FontAwesome.SEARCH);
    dstTextFilter.setImmediate(true);
    dstTextFilter.setTextChangeEventMode(TextChangeEventMode.LAZY);
    dstTextFilter.setTextChangeTimeout(200);
    dstTextFilter.addTextChangeListener(new FilterOutputTextListener());
    dstFilterHeader.addComponent(dstTextFilter);
    dstMapFilter = new CheckBox("Mapped Only");
    dstMapFilter.addValueChangeListener(new FilterDstMapListener());
    dstFilterHeader.addComponent(dstMapFilter);
    Panel panel = new Panel();
    VerticalLayout vlay = new VerticalLayout();
    vlay.setSizeFull();
    diagram = new MappingDiagram(context, component, readOnly);
    diagram.setSizeFull();
    vlay.addComponent(diagram);
    panel.setContent(vlay);
    panel.setSizeFull();
    addComponent(panel);
    setExpandRatio(panel, 1.0f);
    diagram.addListener(new EventListener());
}

10 View Complete Implementation : EditRdbmsWriterPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    filterField = buttonBar.addFilter();
    filterField.addTextChangeListener(new TextChangeListener() {

        @Override
        public void textChange(TextChangeEvent event) {
            filterField.setValue(event.getText());
            updateTable(event.getText());
        }
    });
    addComponent(buttonBar);
    table.setContainerDataSource(container);
    table.setSelectable(true);
    table.setSortEnabled(false);
    table.setImmediate(true);
    table.setSortEnabled(true);
    table.setSizeFull();
    table.addGeneratedColumn("enreplacedyName", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            AttributeSettings setting = (AttributeSettings) itemId;
            RelationalModel model = (RelationalModel) component.getInputModel();
            ModelAttrib attribute = model.getAttributeById(setting.getAttributeId());
            ModelEnreplacedy enreplacedy = model.getEnreplacedyById(attribute.getEnreplacedyId());
            return UiUtils.getName(filterField.getValue(), enreplacedy.getName());
        }
    });
    table.addGeneratedColumn("attributeName", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            AttributeSettings setting = (AttributeSettings) itemId;
            RelationalModel model = (RelationalModel) component.getInputModel();
            ModelAttrib attribute = model.getAttributeById(setting.getAttributeId());
            return UiUtils.getName(filterField.getValue(), attribute.getName());
        }
    });
    table.setVisibleColumns(new Object[] { "enreplacedyName", "attributeName", "insertEnabled", "updateEnabled" });
    table.setColumnWidth("enreplacedyName", 250);
    table.setColumnWidth("attributeName", 250);
    table.setColumnHeaders(new String[] { "Enreplacedy Name", "Attribute Name", "Insert Enabled", "Update Enabled" });
    table.setColumnExpandRatio("value", 1);
    table.setTableFieldFactory(new EditFieldFactory());
    table.setEditable(true);
    addComponent(table);
    setExpandRatio(table, 1.0f);
    if (component.getInputModel() != null) {
        for (ModelEnreplacedy enreplacedy : ((RelationalModel) component.getInputModel()).getModelEnreplacedies()) {
            for (ModelAttrib attr : enreplacedy.getModelAttributes()) {
                ComponentAttribSetting insert = component.getSingleAttributeSetting(attr.getId(), RdbmsWriter.ATTRIBUTE_INSERT_ENABLED);
                ComponentAttribSetting update = component.getSingleAttributeSetting(attr.getId(), RdbmsWriter.ATTRIBUTE_UPDATE_ENABLED);
                boolean insertEnabled = insert != null ? Boolean.parseBoolean(insert.getValue()) : true;
                boolean updateEnabled = update != null ? Boolean.parseBoolean(update.getValue()) : true;
                attributeSettings.add(new AttributeSettings(attr.getId(), insertEnabled, updateEnabled));
            }
        }
        Collections.sort(attributeSettings, new Comparator<AttributeSettings>() {

            @Override
            public int compare(AttributeSettings o1, AttributeSettings o2) {
                RelationalModel model = (RelationalModel) component.getInputModel();
                ModelAttrib attribute1 = model.getAttributeById(o1.getAttributeId());
                ModelEnreplacedy enreplacedy1 = model.getEnreplacedyById(attribute1.getEnreplacedyId());
                ModelAttrib attribute2 = model.getAttributeById(o2.getAttributeId());
                ModelEnreplacedy enreplacedy2 = model.getEnreplacedyById(attribute2.getEnreplacedyId());
                int compare = enreplacedy1.getName().compareTo(enreplacedy2.getName());
                if (compare == 0) {
                    compare = attribute1.getName().compareTo(attribute2.getName());
                }
                return compare;
            }
        });
    }
    updateTable(null);
}

10 View Complete Implementation : EditMergerPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    filterField = buttonBar.addFilter();
    filterField.addTextChangeListener(new TextChangeListener() {

        @Override
        public void textChange(TextChangeEvent event) {
            filterField.setValue(event.getText());
            updateTable(event.getText());
        }
    });
    addComponent(buttonBar);
    table.setContainerDataSource(container);
    table.setSelectable(true);
    table.setSortEnabled(false);
    table.setImmediate(true);
    table.setSortEnabled(true);
    table.setSizeFull();
    table.addGeneratedColumn("enreplacedyName", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            AttributeSettings setting = (AttributeSettings) itemId;
            RelationalModel model = (RelationalModel) component.getInputModel();
            ModelAttrib attribute = model.getAttributeById(setting.getAttributeId());
            ModelEnreplacedy enreplacedy = model.getEnreplacedyById(attribute.getEnreplacedyId());
            return UiUtils.getName(filterField.getValue(), enreplacedy.getName());
        }
    });
    table.addGeneratedColumn("attributeName", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            AttributeSettings setting = (AttributeSettings) itemId;
            RelationalModel model = (RelationalModel) component.getInputModel();
            ModelAttrib attribute = model.getAttributeById(setting.getAttributeId());
            return UiUtils.getName(filterField.getValue(), attribute.getName());
        }
    });
    table.setVisibleColumns(new Object[] { "enreplacedyName", "attributeName", "joinOn" });
    table.setColumnWidth("enreplacedyName", 250);
    table.setColumnWidth("attributeName", 250);
    table.setColumnHeaders(new String[] { "Enreplacedy Name", "Attribute Name", "Join On" });
    table.setTableFieldFactory(new EditFieldFactory());
    table.setEditable(true);
    addComponent(table);
    setExpandRatio(table, 1.0f);
    if (component.getInputModel() != null) {
        RelationalModel model = (RelationalModel) component.getInputModel();
        for (ModelEnreplacedy enreplacedy : model.getModelEnreplacedies()) {
            for (ModelAttrib attr : enreplacedy.getModelAttributes()) {
                ComponentAttribSetting joinOn = component.getSingleAttributeSetting(attr.getId(), Merger.MERGE_ATTRIBUTE);
                boolean join = joinOn != null ? Boolean.parseBoolean(joinOn.getValue()) : false;
                attributeSettings.add(new AttributeSettings(attr.getId(), join));
            }
        }
        Collections.sort(attributeSettings, new Comparator<AttributeSettings>() {

            @Override
            public int compare(AttributeSettings o1, AttributeSettings o2) {
                RelationalModel model = (RelationalModel) component.getInputModel();
                ModelAttrib attribute1 = model.getAttributeById(o1.getAttributeId());
                ModelEnreplacedy enreplacedy1 = model.getEnreplacedyById(attribute1.getEnreplacedyId());
                ModelAttrib attribute2 = model.getAttributeById(o2.getAttributeId());
                ModelEnreplacedy enreplacedy2 = model.getEnreplacedyById(attribute2.getEnreplacedyId());
                int compare = enreplacedy1.getName().compareTo(enreplacedy2.getName());
                if (compare == 0) {
                    compare = attribute1.getName().compareTo(attribute2.getName());
                }
                return compare;
            }
        });
    }
    updateTable(null);
}

9 View Complete Implementation : CmsDbPropertiesApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * @see org.opencms.ui.apps.A_CmsWorkplaceApp#getComponentForState(java.lang.String)
 */
@Override
protected Component getComponentForState(String state) {
    m_rootLayout.setMainHeightFull(true);
    m_table = new CmsPropertyTable();
    TextField filter = new TextField();
    filter.setIcon(FontOpenCms.FILTER);
    filter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    filter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    filter.setWidth("200px");
    filter.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            m_table.filterTable(event.getText());
        }
    });
    m_infoLayout.addComponent(filter);
    m_table.setSizeFull();
    addNewPropertyButton(m_table);
    return m_table;
}

9 View Complete Implementation : CmsMoveResourceTypeDialog.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Init the dialog.<p>
 *
 * @param window window
 */
private void init(final Window window) {
    CmsVaadinUtils.readAndLocalizeDesign(this, CmsVaadinUtils.getWpMessagesForCurrentLocale(), null);
    m_warningIcon.setContentMode(ContentMode.HTML);
    m_warningIcon.setValue(FontOpenCms.WARNING.getHtml());
    if (window != null) {
        m_cancel.addClickListener(e -> window.close());
    }
    m_table.setWidth("100%");
    m_table.setHeight("100%");
    List<CmsModuleRow> rows = new ArrayList<CmsModuleRow>();
    for (CmsModule module : OpenCms.getModuleManager().getAllInstalledModules()) {
        CmsModuleRow row = new CmsModuleRow(module);
        rows.add(row);
    }
    CmsBeanTableBuilder<CmsModuleRow> builder = CmsBeanTableBuilder.newInstance(CmsModuleRow.clreplaced);
    builder.buildTable(m_table, rows);
    m_table.setCellStyleGenerator(builder.getDefaultCellStyleGenerator());
    m_table.sereplacedemIconPropertyId("icon");
    m_table.setRowHeaderMode(RowHeaderMode.ICON_ONLY);
    m_table.setSelectable(true);
    m_table.setVisibleColumns("name", "replacedle");
    m_table.setSortContainerPropertyId("name");
    m_table.sort();
    m_filter.setIcon(FontOpenCms.FILTER);
    m_filter.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_filter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    m_filter.addTextChangeListener(new TextChangeListener() {

        public void textChange(TextChangeEvent event) {
            filterTable(event.getText());
        }
    });
}

8 View Complete Implementation : ImmediateUpdateTogglePasswordField.java
Copyright GNU General Public License v3.0
Author : JumpMind
@Override
protected Component initContent() {
    HorizontalLayout layout = new HorizontalLayout();
    layout.setSpacing(true);
    layout.addComponent(preplacedwordField);
    layout.addComponent(button);
    button.addClickListener(event -> {
        if (toggleAllowed) {
            if (button.getCaption().equals(BUTTON_SHOW)) {
                // Show preplacedword
                button.setCaption(BUTTON_HIDE);
                textField.setValue(preplacedwordField.getValue());
                layout.replaceComponent(preplacedwordField, textField);
            } else {
                // Hide preplacedword
                button.setCaption(BUTTON_SHOW);
                preplacedwordField.setValue(textField.getValue());
                layout.replaceComponent(textField, preplacedwordField);
            }
        }
    });
    // Valo FORMLAYOUT_LIGHT style does not apply to nested fields
    // https://github.com/vaadin/framework/issues/8837
    // Work around is to remove the border manually to match the other
    // fields that are not nested.
    // Once bug is fixed, remove the following two lines.
    preplacedwordField.addStyleName("noborder");
    textField.addStyleName("noborder");
    // End Work Around
    preplacedwordField.setImmediate(true);
    textField.setImmediate(true);
    preplacedwordField.setNullRepresentation("");
    textField.setNullRepresentation("");
    preplacedwordField.setTextChangeEventMode(TextChangeEventMode.LAZY);
    textField.setTextChangeEventMode(TextChangeEventMode.LAZY);
    preplacedwordField.setTextChangeTimeout(200);
    textField.setTextChangeTimeout(200);
    preplacedwordField.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        @Override
        public void textChange(TextChangeEvent event) {
            save(event.getText());
        }
    });
    textField.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        @Override
        public void textChange(TextChangeEvent event) {
            save(event.getText());
        }
    });
    return layout;
}

7 View Complete Implementation : CmsAccountsApp.java
Copyright GNU Lesser General Public License v2.1
Author : alkacon
/**
 * Initializes the toolbar buttons.<p>
 */
private void iniButtons() {
    m_newButton = CmsToolBar.createButton(FontOpenCms.WAND, CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_ADD_ELEMENT_0));
    m_newButton.addClickListener(new ClickListener() {

        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            openNewDialog();
        }
    });
    m_infoButton = new CmsInfoButton();
    Button csvButton = new Button(CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_EXPORT_ONLY_USER_0));
    csvButton.addClickListener(new ClickListener() {

        private static final long serialVersionUID = 5472430305539438757L;

        public void buttonClick(ClickEvent event) {
            boolean includeTechnicalFields = false;
            try {
                OpenCms.getRoleManager().checkRole(m_cms, CmsRole.ADMINISTRATOR);
                includeTechnicalFields = true;
            } catch (CmsRoleViolationException e) {
            // ok
            }
            Window window = CmsBasicDialog.prepareWindow(DialogWidth.wide);
            CmsUserCsvExportDialog dialog = new CmsUserCsvExportDialog(getFullUser(getVisibleUser()), m_stateBean.getPath(), m_stateBean.getType(), getElementName(m_stateBean), CmsVaadinUtils.isButtonPressed(getToggleButton(m_stateBean)), window, includeTechnicalFields);
            window.setContent(dialog);
            A_CmsUI.get().addWindow(window);
        }
    });
    m_infoButton.setAdditionalButton(csvButton);
    m_addElementButton = CmsToolBar.createButton(FontAwesome.PLUS, CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_ADD_USER_TO_GROUP_0));
    m_addElementButton.addClickListener(new ClickListener() {

        private static final long serialVersionUID = 1859694635385726953L;

        public void buttonClick(ClickEvent event) {
            openAddUserDialog();
        }
    });
    m_toggleButtonRole = CmsToolBar.createButton(FontOpenCms.USERS, CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_ROLES_TOGGLE_0));
    m_toggleButtonRole.addClickListener(new ClickListener() {

        private static final long serialVersionUID = 8265075332953321274L;

        public void buttonClick(ClickEvent event) {
            toggleTable(m_toggleButtonRole);
        }
    });
    m_toggleButtonUser = CmsToolBar.createButton(FontOpenCms.USERS, CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_USER_TOGGLE_0));
    m_toggleButtonUser.addClickListener(new ClickListener() {

        private static final long serialVersionUID = 8265075332953321274L;

        public void buttonClick(ClickEvent event) {
            toggleTable(m_toggleButtonUser);
        }
    });
    m_toggleButtonGroups = CmsToolBar.createButton(FontOpenCms.USERS, CmsVaadinUtils.getMessageText(Messages.GUI_USERMANAGEMENT_GROUPS_TOGGLE_0));
    m_toggleButtonGroups.addClickListener(new ClickListener() {

        private static final long serialVersionUID = 8265075332953321274L;

        public void buttonClick(ClickEvent event) {
            toggleTable(m_toggleButtonGroups);
        }
    });
    m_uiContext.addToolbarButton(m_newButton);
    m_uiContext.addToolbarButton(m_addElementButton);
    m_uiContext.addToolbarButton(m_infoButton);
    m_uiContext.addToolbarButton(m_toggleButtonRole);
    m_uiContext.addToolbarButton(m_toggleButtonUser);
    m_uiContext.addToolbarButton(m_toggleButtonGroups);
    for (Button button : getAdditionalButtons()) {
        m_uiContext.addToolbarButton(button);
    }
    m_filter = CmsVaadinUtils.getOUComboBox(m_cms, m_baseOU, LOG);
    m_filter.setWidth("379px");
    m_infoLayout.addComponent(m_filter, 0);
    m_filterTable = new TextField();
    m_filterTable.setIcon(FontOpenCms.FILTER);
    m_filterTable.setInputPrompt(Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0));
    m_filterTable.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON);
    // m_filterTable.setWidth("200px");
    m_filterTable.addTextChangeListener(new TextChangeListener() {

        private static final long serialVersionUID = 1L;

        public void textChange(TextChangeEvent event) {
            filterTable(event.getText());
        }
    });
    m_filterTable.setWidth("200px");
    m_infoLayout.addComponent(m_filterTable);
    m_infoLayout.addStyleName("o-many-elements");
    m_filter.addValueChangeListener(new ValueChangeListener() {

        private static final long serialVersionUID = 1L;

        public void valueChange(ValueChangeEvent event) {
            if ((m_stateBean.getType() != null) & !m_doNotChange) {
                update((String) event.getProperty().getValue(), CmsOuTreeType.OU, null);
            } else {
            // 
            }
        }
    });
    if (!m_ouHandler.isOUManagable(m_stateBean.getPath())) {
        boolean change = m_doNotChange;
        m_doNotChange = false;
        m_filter.select(m_filter.gereplacedemIds().iterator().next());
        m_doNotChange = change;
    }
}

6 View Complete Implementation : EditTransformerPanel.java
Copyright GNU General Public License v3.0
Author : JumpMind
protected void buildUI() {
    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);
    filterPopField = new ComboBox();
    filterPopField.addItem(SHOW_ALL);
    filterPopField.addItem(SHOW_POPULATED_ENreplacedIES);
    filterPopField.addItem(SHOW_POPULATED_ATTRIBUTES);
    if (component.getInputModel() != null) {
        for (ModelEnreplacedy enreplacedy : ((RelationalModel) component.getInputModel()).getModelEnreplacedies()) {
            filterPopField.addItem(enreplacedy.getName());
        }
    }
    filterPopField.setNullSelectionAllowed(false);
    filterPopField.setImmediate(true);
    filterPopField.setWidth(20, Unit.EM);
    filterPopField.setValue(SHOW_ALL);
    filterPopField.addValueChangeListener(event -> {
        if (isNotBlank(filterField.getValue())) {
            filterField.clear();
        }
        updateTable();
    });
    buttonBar.addLeft(filterPopField);
    buttonBar.addButtonRight("Export", FontAwesome.DOWNLOAD, (e) -> export());
    filterField = buttonBar.addFilter();
    filterField.addTextChangeListener(event -> {
        String text = event.getText();
        filterPopField.setValue(SHOW_ALL);
        updateTable(text);
    });
    addComponent(buttonBar);
    table.setContainerDataSource(container);
    table.setSelectable(true);
    table.setSortEnabled(false);
    table.setImmediate(true);
    table.setSortEnabled(true);
    table.setSizeFull();
    table.addGeneratedColumn("enreplacedyName", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            ComponentAttribSetting setting = (ComponentAttribSetting) itemId;
            RelationalModel model = (RelationalModel) component.getInputModel();
            ModelAttrib attribute = model.getAttributeById(setting.getAttributeId());
            ModelEnreplacedy enreplacedy = model.getEnreplacedyById(attribute.getEnreplacedyId());
            return UiUtils.getName(filterField.getValue(), enreplacedy.getName());
        }
    });
    table.addGeneratedColumn("attributeName", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            ComponentAttribSetting setting = (ComponentAttribSetting) itemId;
            RelationalModel model = (RelationalModel) component.getInputModel();
            ModelAttrib attribute = model.getAttributeById(setting.getAttributeId());
            return UiUtils.getName(filterField.getValue(), attribute.getName());
        }
    });
    table.addGeneratedColumn("editButton", new ColumnGenerator() {

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            ComponentAttribSetting setting = (ComponentAttribSetting) itemId;
            Button button = new Button();
            button.setIcon(FontAwesome.GEAR);
            button.addClickListener((event) -> new EditTransformWindow(setting).showAtSize(.75));
            return button;
        }
    });
    table.setVisibleColumns(new Object[] { "enreplacedyName", "attributeName", "value", "editButton" });
    table.setColumnWidth("enreplacedyName", 250);
    table.setColumnWidth("attributeName", 250);
    table.setColumnHeaders(new String[] { "Enreplacedy Name", "Attribute Name", "Transform", "Edit" });
    table.setColumnExpandRatio("value", 1);
    table.setTableFieldFactory(new EditFieldFactory());
    table.setEditable(true);
    addComponent(table);
    setExpandRatio(table, 1.0f);
    if (component.getInputModel() != null) {
        componentAttributes = component.getAttributeSettings();
        removeDeadAttributeSettings();
        for (ModelEnreplacedy enreplacedy : ((RelationalModel) component.getInputModel()).getModelEnreplacedies()) {
            for (ModelAttrib attr : enreplacedy.getModelAttributes()) {
                boolean found = false;
                for (ComponentAttribSetting componentAttribute : componentAttributes) {
                    if (componentAttribute.getAttributeId().equals(attr.getId()) && componentAttribute.getName().equals(Transformer.TRANSFORM_EXPRESSION)) {
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    componentAttributes.add(new ComponentAttribSetting(attr.getId(), component.getId(), Transformer.TRANSFORM_EXPRESSION, null));
                }
            }
        }
        Collections.sort(componentAttributes, new Comparator<ComponentAttribSetting>() {

            @Override
            public int compare(ComponentAttribSetting o1, ComponentAttribSetting o2) {
                RelationalModel model = (RelationalModel) component.getInputModel();
                ModelAttrib attribute1 = model.getAttributeById(o1.getAttributeId());
                ModelEnreplacedy enreplacedy1 = model.getEnreplacedyById(attribute1.getEnreplacedyId());
                ModelAttrib attribute2 = model.getAttributeById(o2.getAttributeId());
                ModelEnreplacedy enreplacedy2 = model.getEnreplacedyById(attribute2.getEnreplacedyId());
                int compare = enreplacedy1.getName().compareTo(enreplacedy2.getName());
                if (compare == 0) {
                    compare = attribute1.getName().compareTo(attribute2.getName());
                }
                return compare;
            }
        });
    }
    updateTable(null);
    exportTable.setContainerDataSource(exportContainer);
    exportTable.setVisibleColumns(new Object[] { "enreplacedyName", "attributeName", "value" });
    exportTable.setColumnHeaders(new String[] { "Enreplacedy Name", "Attribute Name", "Transform" });
}