Example usage for com.google.gwt.user.cellview.client Column setSortable

List of usage examples for com.google.gwt.user.cellview.client Column setSortable

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client Column setSortable.

Prototype

public void setSortable(boolean sortable) 

Source Link

Document

Set whether or not the column can be sorted.

Usage

From source file:org.eclipse.che.plugin.docker.ext.client.manage.CredentialsPreferencesViewImpl.java

License:Open Source License

private void initCredentialsTable(CellTable.Resources res) {
    keys = new CellTable<>(15, res);
    Column<AuthConfig, String> serverAddressColumn = new Column<AuthConfig, String>(new TextCell()) {
        @Override//from   w w  w  .j  a  v  a 2 s.c o  m
        public String getValue(AuthConfig object) {
            return object.getServeraddress();
        }

        @Override
        public void render(Cell.Context context, AuthConfig object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX
                    + "preferences-docker-credentials-cellTable-serveraddress-" + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };
    serverAddressColumn.setSortable(true);

    Column<AuthConfig, String> editColumn = new Column<AuthConfig, String>(new ButtonCell()) {
        @Override
        public String getValue(AuthConfig object) {
            return "Edit";
        }

        @Override
        public void render(Cell.Context context, AuthConfig object, SafeHtmlBuilder sb) {
            if (object != null) {
                sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX
                        + "preferences-docker-credentials-cellTable-edit-" + context.getIndex() + "\">");
                super.render(context, object, sb);
            }
        }
    };
    // Creates handler on button clicked
    editColumn.setFieldUpdater(new FieldUpdater<AuthConfig, String>() {
        @Override
        public void update(int index, AuthConfig object, String value) {
            delegate.onEditClicked(object);
        }
    });

    Column<AuthConfig, String> deleteColumn = new Column<AuthConfig, String>(new ButtonCell()) {
        @Override
        public String getValue(AuthConfig object) {
            return "Delete";
        }

        @Override
        public void render(Cell.Context context, AuthConfig object, SafeHtmlBuilder sb) {
            if (object != null) {
                sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX
                        + "preferences-docker-credentials-cellTable-delete-" + context.getIndex() + "\">");
                super.render(context, object, sb);
            }
        }
    };
    // Creates handler on button clicked
    deleteColumn.setFieldUpdater(new FieldUpdater<AuthConfig, String>() {
        @Override
        public void update(int index, AuthConfig object, String value) {
            delegate.onDeleteClicked(object);
        }
    });

    keys.addColumn(serverAddressColumn, "Server Address");
    keys.addColumn(editColumn, "");//Do not show label for edit column
    keys.addColumn(deleteColumn, "");//Do not show label for delete column
    keys.setColumnWidth(serverAddressColumn, 70, Style.Unit.PCT);
    keys.setColumnWidth(editColumn, 20, Style.Unit.PX);
    keys.setColumnWidth(deleteColumn, 20, Style.Unit.PX);

    // don't show loading indicator
    keys.setLoadingIndicator(null);
}

From source file:org.eclipse.che.plugin.ssh.key.client.manage.SshKeyManagerViewImpl.java

License:Open Source License

/** Creates table what contains list of available ssh keys. */
private void initSshKeyTable(final CellTable.Resources res) {
    keys = new CellTable<>(15, res);
    Column<SshPairDto, String> hostColumn = new Column<SshPairDto, String>(new TextCell()) {
        @Override/*from  w  ww  .  j  a  va  2  s.  com*/
        public String getValue(SshPairDto object) {
            return object.getName();
        }

        @Override
        public void render(Context context, SshPairDto object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "-sshKeys-cellTable-host-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };
    hostColumn.setSortable(true);

    Column<SshPairDto, String> publicKeyColumn = new Column<SshPairDto, String>(new ButtonCell()) {
        @Override
        public String getValue(SshPairDto object) {
            return "View";
        }

        @Override
        public void render(Context context, SshPairDto object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "-sshKeys-cellTable-key-"
                    + context.getIndex() + "\">");
            if (object != null && object.getPublicKey() != null) {
                super.render(context, object, sb);
            }
        }
    };
    // Creates handler on button clicked
    publicKeyColumn.setFieldUpdater(new FieldUpdater<SshPairDto, String>() {
        @Override
        public void update(int index, SshPairDto object, String value) {
            delegate.onViewClicked(object);
        }
    });

    Column<SshPairDto, String> deleteKeyColumn = new Column<SshPairDto, String>(new ButtonCell()) {
        @Override
        public String getValue(SshPairDto object) {
            return "Delete";
        }

        @Override
        public void render(Context context, SshPairDto object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "-sshKeys-cellTable-delete-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };
    // Creates handler on button clicked
    deleteKeyColumn.setFieldUpdater(new FieldUpdater<SshPairDto, String>() {
        @Override
        public void update(int index, SshPairDto object, String value) {
            delegate.onDeleteClicked(object);
        }
    });

    keys.addColumn(hostColumn, "Host");
    keys.addColumn(publicKeyColumn, "Public Key");
    keys.addColumn(deleteKeyColumn, "Delete");
    keys.setColumnWidth(hostColumn, 50, Style.Unit.PCT);
    keys.setColumnWidth(publicKeyColumn, 30, Style.Unit.PX);
    keys.setColumnWidth(deleteKeyColumn, 30, Style.Unit.PX);

    // don't show loading indicator
    keys.setLoadingIndicator(null);
}

From source file:org.glom.web.client.ui.list.ListTable.java

License:Open Source License

private void addColumn(final LayoutItemField layoutItemField) {
    // Setup the default alignment of the column.
    HorizontalAlignmentConstant columnAlignment;
    Formatting formatting = layoutItemField.getFormatting();
    if (formatting == null) {
        GWT.log("addColumn(): Formatting is null for field=" + layoutItemField.getLayoutDisplayName());
        formatting = new Formatting(); // Just to avoid null dereferencing later.
    }/*from w  w  w .ja  v a 2s  .  c om*/

    switch (formatting.getHorizontalAlignment()) {
    case HORIZONTAL_ALIGNMENT_LEFT:
        columnAlignment = HasHorizontalAlignment.ALIGN_LEFT;
        break;
    case HORIZONTAL_ALIGNMENT_RIGHT:
        columnAlignment = HasHorizontalAlignment.ALIGN_RIGHT;
        break;
    case HORIZONTAL_ALIGNMENT_AUTO:
    default:
        columnAlignment = HasHorizontalAlignment.ALIGN_DEFAULT;
        break;
    }

    // create a new column
    Column<DataItem[], ?> column = null;
    final int j = cellTable.getColumnCount();
    switch (layoutItemField.getGlomType()) {

    case TYPE_BOOLEAN:
        column = new Column<DataItem[], Boolean>(new BooleanCell()) {
            @Override
            public Boolean getValue(final DataItem[] row) {
                if (row.length == 1 && row[0] == null) {
                    // an empty row
                    return null;
                }

                if (j >= row.length) {
                    GWT.log("addColumn(): j=" + j + " is out of range. length=" + row.length);
                    return null;
                } else {
                    return row[j].getBoolean();
                }
            }
        };
        // override the configured horizontal alignment
        columnAlignment = HasHorizontalAlignment.ALIGN_CENTER;
        break;

    case TYPE_NUMERIC:
        // create a GWT NumberFormat for the column
        final NumericFormat numericFormat = formatting.getNumericFormat();
        final NumberFormat gwtNumberFormat = Utils.getNumberFormat(numericFormat);

        // create the actual column
        column = new Column<DataItem[], Double>(new NumericCell(
                formatting.getTextFormatColorForegroundAsHTMLColor(),
                formatting.getTextFormatColorBackgroundAsHTMLColor(), gwtNumberFormat,
                numericFormat.getUseAltForegroundColorForNegatives(), numericFormat.getCurrencySymbol())) {
            @Override
            public Double getValue(final DataItem[] row) {
                if (row.length == 1 && row[0] == null) {
                    // an empty row
                    return null;
                }

                if (j >= row.length) {
                    GWT.log("addColumn(): j=" + j + " is out of range. length=" + row.length);
                    return null;
                } else {
                    return row[j].getNumber();
                }
            }
        };
        break;
    case TYPE_IMAGE:
        column = new Column<DataItem[], String>(new ImageCell()) {
            @Override
            public String getValue(final DataItem[] row) {
                if (row.length == 1 && row[0] == null) {
                    // an empty row
                    return null;
                }

                if (j >= row.length) {
                    GWT.log("addColumn(): j=" + j + " is out of range. length=" + row.length);
                    return null;
                } else {
                    return row[j].getImageDataUrl();
                }
            }
        };
        // override the configured horizontal alignment
        columnAlignment = HasHorizontalAlignment.ALIGN_CENTER;
        break;

    default:
        // use a text rendering cell for types we don't know about but log an error
        // TODO log error here
    case TYPE_DATE:
    case TYPE_INVALID:
    case TYPE_TIME:
    case TYPE_TEXT:
        column = new Column<DataItem[], String>(
                new TextCell(formatting.getTextFormatColorForegroundAsHTMLColor(),
                        formatting.getTextFormatColorBackgroundAsHTMLColor())) {
            @Override
            public String getValue(final DataItem[] row) {
                if (row.length == 1 && row[0] == null) {
                    // an empty row
                    return null;
                }

                if (j >= row.length) {
                    GWT.log("addColumn(): j=" + j + " is out of range. length=" + row.length);
                    return null;
                } else {
                    return row[j].getText();
                }
            }
        };
        break;
    }

    // set column properties and add to cell cellTable
    column.setHorizontalAlignment(columnAlignment);
    column.setSortable(true);
    cellTable.addColumn(column, new SafeHtmlHeader(SafeHtmlUtils.fromString(layoutItemField.getTitle())));
}

From source file:org.guvnor.m2repo.client.widgets.ArtifactListViewImpl.java

License:Apache License

@Override
public void setup(final ColumnType... _columns) {
    final Set<ColumnType> columns = new HashSet<ColumnType>(Arrays.asList(_columns));
    dataGrid.setEmptyTableCaption(M2RepoEditorConstants.INSTANCE.NoArtifactAvailable());

    if (columns.contains(ColumnType.NAME)) {
        final Column<JarListPageRow, String> nameColumn = new Column<JarListPageRow, String>(new TextCell()) {
            @Override/* www  . j a  v a 2  s.c  o m*/
            public String getValue(JarListPageRow row) {
                return row.getName();
            }
        };
        nameColumn.setSortable(true);
        nameColumn.setDataStoreName(JarListPageRequest.COLUMN_NAME);
        addColumn(nameColumn, M2RepoEditorConstants.INSTANCE.Name());
    }

    if (columns.contains(ColumnType.GAV)) {
        final Column<JarListPageRow, String> gavColumn = new Column<JarListPageRow, String>(new TextCell()) {
            @Override
            public String getValue(JarListPageRow row) {
                return row.getGav().toString();
            }
        };
        gavColumn.setSortable(true);
        gavColumn.setDataStoreName(JarListPageRequest.COLUMN_GAV);
        addColumn(gavColumn, M2RepoEditorConstants.INSTANCE.GAV());
    }

    if (columns.contains(ColumnType.LAST_MODIFIED)) {
        final Column<JarListPageRow, Date> lastModifiedColumn = new Column<JarListPageRow, Date>(
                new DateCell(DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_TIME_MEDIUM))) {
            @Override
            public Date getValue(JarListPageRow row) {
                return row.getLastModified();
            }
        };
        lastModifiedColumn.setSortable(true);
        lastModifiedColumn.setDataStoreName(JarListPageRequest.COLUMN_LAST_MODIFIED);
        addColumn(lastModifiedColumn, M2RepoEditorConstants.INSTANCE.LastModified(), false);
    }

    dataGrid.addColumnSortHandler(new ColumnSortEvent.AsyncHandler(dataGrid));
}

From source file:org.idwebmail.client.grids.MyPaginationDataGrid.java

@Override
public void initTableColumns(DataGrid<T> dataGrid, ListHandler<T> sortHandler) {
    Column<T, String> asunto = new Column<T, String>(new TextCell()) {
        @Override/*w  ww . ja  v  a2  s  .c o m*/
        public String getValue(T object) {
            return ((EmailInfo) object).headAsunto;
        }
    };
    asunto.setSortable(true);
    sortHandler.setComparator(asunto, new Comparator<T>() {
        @Override
        public int compare(T o1, T o2) {
            return ((EmailInfo) o1).headAsunto.compareTo(((EmailInfo) o2).headAsunto);
        }
    });
    dataGrid.addColumn(asunto, "Asunto");
    dataGrid.setColumnWidth(asunto, 20, Unit.PCT);
    /******************************************************************/
    Column<T, String> fecha = new Column<T, String>(new TextCell()) {
        @Override
        public String getValue(T object) {
            return ((EmailInfo) object).headfecha;
        }
    };
    fecha.setSortable(true);
    sortHandler.setComparator(fecha, new Comparator<T>() {
        @Override
        public int compare(T o1, T o2) {
            return ((EmailInfo) o1).headfecha.compareTo(((EmailInfo) o2).headfecha);
        }
    });
    dataGrid.addColumn(fecha, "Fecha");
    dataGrid.setColumnWidth(fecha, 20, Unit.PCT);
    /******************************************************************/
    Column<T, String> lastNameColumn = new Column<T, String>(new TextCell()) {
        @Override
        public String getValue(T object) {
            return ((EmailInfo) object).headRemitente;
        }
    };
    lastNameColumn.setSortable(true);
    sortHandler.setComparator(lastNameColumn, new Comparator<T>() {
        @Override
        public int compare(T o1, T o2) {
            return ((EmailInfo) o1).headRemitente.compareTo(((EmailInfo) o2).headRemitente);
        }
    });
    dataGrid.addColumn(lastNameColumn, "Remitente");
    dataGrid.setColumnWidth(lastNameColumn, 20, Unit.PCT);
}

From source file:org.jboss.as.console.client.shared.properties.ModelNodePropertyEditor.java

License:Open Source License

public Widget asWidget() {
    VerticalPanel panel = new VerticalPanel();
    panel.addStyleName("fill-layout-width");

    propertyTable = new DefaultCellTable<Property>(numRows);
    propertyTable.getElement().setAttribute("style", "margin-top:5px;");
    propertyProvider = new ListDataProvider<Property>();
    propertyProvider.addDataDisplay(propertyTable);

    final SingleSelectionModel<Property> selectionModel = new SingleSelectionModel<Property>();
    propertyTable.setSelectionModel(selectionModel);

    if (!hideButtons) {
        ToolStrip propTools = new ToolStrip();

        //add/* w  ww  .j ava2s . c o  m*/
        addButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                presenter.launchNewPropertyDialoge(reference);
            }
        });
        addButton.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_add_propertyEditor());
        propTools.addToolButtonRight(addButton);

        // remove
        removeButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {

                final Property property = selectionModel.getSelectedObject();
                if (null == property) {
                    Console.error("Please select a property");
                    return;
                }

                Feedback.confirm(Console.MESSAGES.removeProperty(),
                        Console.MESSAGES.removePropertyConfirm(property.getName()),
                        new Feedback.ConfirmationHandler() {
                            @Override
                            public void onConfirmation(boolean isConfirmed) {
                                if (isConfirmed)
                                    presenter.onDeleteProperty(reference, property);
                            }
                        });
            }
        });

        propTools.addToolButtonRight(removeButton);
        panel.add(propTools);
    }

    ColumnSortEvent.ListHandler<Property> sortHandler = new ColumnSortEvent.ListHandler<Property>(
            propertyProvider.getList());

    Column<Property, String> keyColumn = null;
    Column<Property, String> valueColumn = null;

    // inline editing or not?

    keyColumn = new TextColumn<Property>() {
        @Override
        public String getValue(Property object) {
            return object.getName();
        }
    };

    valueColumn = new TextColumn<Property>() {
        @Override
        public String getValue(Property object) {
            return object.getValue().asString();
        }
    };

    // sorting
    keyColumn.setSortable(true);
    sortHandler.setComparator(keyColumn, new Comparator<Property>() {
        @Override
        public int compare(Property o1, Property o2) {
            return o1.getName().compareTo(o2.getName());
        }
    });

    /*Column<Property, String> bootColumn = new Column<Property, String>(new DefaultEditTextCell()) {
    {
        setFieldUpdater(new FieldUpdater<Property, String>() {
            
            @Override
            public void update(int index, Property object, String value) {
                object.setBootTime(Boolean.valueOf(value));
            }
        });
    }
            
    @Override
    public String getValue(Property object) {
        return String.valueOf(object.isBootTime());
    }
    };  */

    // Add the columns.
    propertyTable.addColumn(keyColumn, Console.CONSTANTS.common_label_key());
    propertyTable.addColumn(valueColumn, Console.CONSTANTS.common_label_value());

    /* if(!simpleView)
    propertyTable.addColumn(bootColumn, "Boot-Time?");*/

    propertyTable.setColumnWidth(keyColumn, 30, Style.Unit.PCT);
    propertyTable.setColumnWidth(valueColumn, 30, Style.Unit.PCT);

    /*if(!simpleView)
    propertyTable.setColumnWidth(bootColumn, 20, Style.Unit.PCT);*/

    propertyTable.addColumnSortHandler(sortHandler);
    propertyTable.getColumnSortList().push(keyColumn);

    if (helpText != null) {
        StaticHelpPanel helpPanel = new StaticHelpPanel(helpText);
        panel.add(helpPanel.asWidget());
    }

    //propertyTable.setEnabled(false);
    panel.add(propertyTable);

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(propertyTable);

    panel.add(pager);

    return panel;
}

From source file:org.jboss.as.console.client.shared.properties.PropertyEditor.java

License:Open Source License

public Widget asWidget() {
    VerticalPanel panel = new VerticalPanel();
    panel.addStyleName("fill-layout-width");

    propertyTable = new DefaultCellTable<PropertyRecord>(numRows);
    propertyTable.getElement().setAttribute("style", "margin-top:5px;");
    propertyProvider = new ListDataProvider<PropertyRecord>();
    propertyProvider.addDataDisplay(propertyTable);

    if (!hideButtons) {
        ToolStrip propTools = new ToolStrip();

        addProp = new ToolButton(Console.CONSTANTS.common_label_add());

        addProp.addClickHandler(new ClickHandler() {
            @Override/*from  w  w w  .j  a  va  2 s.  c o  m*/
            public void onClick(ClickEvent event) {
                if (PropertyEditor.this.enabled)
                    presenter.launchNewPropertyDialoge(reference);
                else
                    System.out.println("PropertyEditor is disabled!");
            }
        });
        addProp.ensureDebugId(Console.DEBUG_CONSTANTS.debug_label_add_propertyEditor());
        propTools.addToolButtonRight(addProp);
        panel.add(propTools);
    }

    ColumnSortEvent.ListHandler<PropertyRecord> sortHandler = new ColumnSortEvent.ListHandler<PropertyRecord>(
            propertyProvider.getList());

    // Create columns
    Column<PropertyRecord, String> keyColumn = new Column<PropertyRecord, String>(new DefaultEditTextCell()) {
        {
            setFieldUpdater(new FieldUpdater<PropertyRecord, String>() {

                @Override
                public void update(int index, PropertyRecord object, String value) {
                    object.setKey(value);
                    presenter.onChangeProperty(reference, object);
                }
            });
        }

        @Override
        public String getValue(PropertyRecord object) {
            return object.getKey();
        }

    };
    keyColumn.setSortable(true);
    sortHandler.setComparator(keyColumn, new Comparator<PropertyRecord>() {
        @Override
        public int compare(PropertyRecord o1, PropertyRecord o2) {
            return o1.getKey().compareTo(o2.getKey());
        }
    });

    Column<PropertyRecord, String> valueColumn = new Column<PropertyRecord, String>(new DefaultEditTextCell()) {
        {
            setFieldUpdater(new FieldUpdater<PropertyRecord, String>() {

                @Override
                public void update(int index, PropertyRecord object, String value) {
                    object.setValue(value);
                    presenter.onChangeProperty(reference, object);
                }
            });
        }

        @Override
        public String getValue(PropertyRecord object) {
            return object.getValue();
        }
    };

    /*Column<PropertyRecord, SafeHtml> valueColumn = new Column<PropertyRecord, SafeHtml>(new SafeHtmlCell()) {
    @Override
    public SafeHtml getValue(PropertyRecord object) {
        String val = object.getValue();
        return new SafeHtmlBuilder().appendHtmlConstant("<span title='" +
                new SafeHtmlBuilder().appendEscaped(val).toSafeHtml().asString() + "'>" + val + "</span>").toSafeHtml();
    }
    };*/

    Column<PropertyRecord, String> bootColumn = new Column<PropertyRecord, String>(new DefaultEditTextCell()) {
        {
            setFieldUpdater(new FieldUpdater<PropertyRecord, String>() {

                @Override
                public void update(int index, PropertyRecord object, String value) {
                    object.setBootTime(Boolean.valueOf(value));
                }
            });
        }

        @Override
        public String getValue(PropertyRecord object) {
            return String.valueOf(object.isBootTime());
        }
    };

    Column<PropertyRecord, PropertyRecord> removeCol = new Column<PropertyRecord, PropertyRecord>(
            new TextLinkCell<PropertyRecord>(Console.CONSTANTS.common_label_delete(),
                    new ActionCell.Delegate<PropertyRecord>() {
                        @Override
                        public void execute(final PropertyRecord o) {

                            Feedback.confirm(Console.MESSAGES.removeProperty(),
                                    Console.MESSAGES.removePropertyConfirm(o.getKey()),
                                    new Feedback.ConfirmationHandler() {
                                        @Override
                                        public void onConfirmation(boolean isConfirmed) {
                                            if (isConfirmed)
                                                presenter.onDeleteProperty(reference, o);
                                        }
                                    });

                        }
                    })) {
        @Override
        public PropertyRecord getValue(PropertyRecord propertyRecord) {
            return propertyRecord;
        }
    };

    // Add the columns.
    propertyTable.addColumn(keyColumn, Console.CONSTANTS.common_label_key());
    propertyTable.addColumn(valueColumn, Console.CONSTANTS.common_label_value());

    if (!simpleView)
        propertyTable.addColumn(bootColumn, "Boot-Time?");

    if (!hideButtons)
        propertyTable.addColumn(removeCol, Console.CONSTANTS.common_label_option());

    propertyTable.setColumnWidth(keyColumn, 30, Style.Unit.PCT);
    propertyTable.setColumnWidth(valueColumn, 30, Style.Unit.PCT);

    if (!simpleView)
        propertyTable.setColumnWidth(bootColumn, 20, Style.Unit.PCT);

    if (!hideButtons)
        propertyTable.setColumnWidth(removeCol, 20, Style.Unit.PCT);

    propertyTable.addColumnSortHandler(sortHandler);
    propertyTable.getColumnSortList().push(keyColumn);

    if (helpText != null) {
        StaticHelpPanel helpPanel = new StaticHelpPanel(helpText);
        panel.add(helpPanel.asWidget());
    }

    //propertyTable.setEnabled(false);
    panel.add(propertyTable);

    DefaultPager pager = new DefaultPager();
    pager.setDisplay(propertyTable);

    panel.add(pager);

    return panel;
}

From source file:org.jboss.as.console.client.shared.runtime.elytron.GenericAliasEditor.java

License:Open Source License

private void setupTable() {
    table = new DefaultCellTable<>(10);
    table.setSelectionModel(selectionModel);

    Column<ModelNode, String> realmColumn = new TextColumn<ModelNode>() {
        @Override/*from   ww  w  .j a  v  a 2 s. c  om*/
        public String getValue(ModelNode prop) {
            return prop.asString();
        }
    };
    realmColumn.setSortable(true);
    table.addColumn(realmColumn, "Alias");
}

From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.factory.ConfigurableHttpServerMechanismFactoryFilterEditor.java

License:Open Source License

@SuppressWarnings("unchecked")
public Widget asWidget() {
    VerticalPanel panel = new VerticalPanel();
    panel.addStyleName("fill-layout-width");

    // table/*from   www .jav a2  s  .  co  m*/
    table = new DefaultCellTable<>(5, nameProvider);
    dataProvider = new ListDataProvider<>(nameProvider);
    dataProvider.addDataDisplay(table);
    table.setSelectionModel(selectionModel);

    // columns
    Column<ModelNode, String> patternColumn = new TextColumn<ModelNode>() {
        @Override
        public String getValue(ModelNode property) {
            return property.get("pattern-filter").asString();
        }
    };
    patternColumn.setSortable(true);
    Column<ModelNode, String> enablingColumn = new TextColumn<ModelNode>() {
        @Override
        public String getValue(ModelNode property) {
            return property.get("enabling").asString();
        }
    };
    enablingColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    table.addColumn(patternColumn, "Pattern Filter");
    table.addColumn(enablingColumn, "Enabling");
    table.setColumnWidth(patternColumn, 70, Style.Unit.PCT);
    table.setColumnWidth(enablingColumn, 30, Style.Unit.PCT);

    // tools
    ToolStrip tools = new ToolStrip();
    ToolButton addButton = new ToolButton(Console.CONSTANTS.common_label_add(), event -> {

        ModelNodeFormBuilder.FormAssets addFormAssets = new ModelNodeFormBuilder()
                .setResourceDescription(resourceDescription).setCreateMode(true)
                .setSecurityContext(securityContext).setCreateNameAttribute(false).build();
        addFormAssets.getForm().setEnabled(true);

        DefaultWindow dialog = new DefaultWindow(Console.MESSAGES.newTitle("Pattern filter"));
        AddResourceDialog.Callback callback = new AddResourceDialog.Callback() {
            @Override
            public void onAdd(ModelNode payload) {
                circuit.dispatch(
                        new AddListAttribute(ElytronStore.CONFIGURABLE_HTTP_SERVER_MECHANISM_FACTORY_ADDRESS,
                                "filters", factoryName, payload));
                dialog.hide();
            }

            @Override
            public void onCancel() {
                dialog.hide();
            }
        };
        AddResourceDialog addDialog = new AddResourceDialog(addFormAssets, resourceDescription, callback);
        dialog.setWidth(480);
        dialog.setHeight(360);
        dialog.setWidget(addDialog);
        dialog.setGlassEnabled(true);
        dialog.center();
    });
    ToolButton removeButton = new ToolButton(Console.CONSTANTS.common_label_delete(), event -> {
        final ModelNode selection = selectionModel.getSelectedObject();
        if (selection != null) {
            Feedback.confirm("Filter",
                    Console.MESSAGES.deleteConfirm("Filter " + selection.get("pattern-filter").asString()),
                    isConfirmed -> {
                        if (isConfirmed) {
                            circuit.dispatch(new RemoveListAttribute(
                                    ElytronStore.CONFIGURABLE_HTTP_SERVER_MECHANISM_FACTORY_ADDRESS,
                                    factoryName, "filters", selection));
                        }
                    });
        }
    });
    tools.addToolButtonRight(addButton);
    tools.addToolButtonRight(removeButton);
    panel.add(tools);

    panel.add(table);
    DefaultPager pager = new DefaultPager();
    pager.setDisplay(table);
    panel.add(pager);
    return panel;
}

From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.factory.MechanismProviderFilteringSaslServerFilterEditor.java

License:Open Source License

private void setupTable() {
    table = new DefaultCellTable<>(5, nameProvider);
    table.setSelectionModel(selectionModel);

    // columns//w w  w  .j av a  2s . c om
    Column<ModelNode, String> providerNameColumn = createColumn("provider-name");
    Column<ModelNode, String> mechanismNameColumn = createColumn("mechanism-name");
    Column<ModelNode, String> providerVersionColumn = createColumn("provider-version");
    Column<ModelNode, String> versionComparisonColumn = createColumn("version-comparison");
    providerNameColumn.setSortable(true);
    providerNameColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    mechanismNameColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    providerVersionColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    versionComparisonColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
    table.addColumn(providerNameColumn, "Provider Name");
    table.addColumn(mechanismNameColumn, "Mechanism Name");
    table.addColumn(providerVersionColumn, "Provider Version");
    table.addColumn(versionComparisonColumn, "Version Comparison");
    table.setColumnWidth(providerNameColumn, 30, Style.Unit.PCT);
    table.setColumnWidth(mechanismNameColumn, 30, Style.Unit.PCT);
    table.setColumnWidth(providerVersionColumn, 20, Style.Unit.PCT);
    table.setColumnWidth(versionComparisonColumn, 20, Style.Unit.PCT);
}