Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml.

Prototype

public SafeHtml toSafeHtml() 

Source Link

Document

Returns the safe HTML accumulated in the builder as a SafeHtml .

Usage

From source file:org.jboss.as.console.client.v3.deployment.wizard.StaticHelp.java

License:Open Source License

static SafeHtml unmanaged() {
    // TODO I18n or take from DMR
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendHtmlConstant("<table class='help-attribute-descriptions'>");
    addHelpTextRow(builder, "Path:", Console.CONSTANTS.unmanagedDeploymentPathDescription());
    addHelpTextRow(builder, "Relative To:", Console.CONSTANTS.unmanagedDeploymentRelativeToDescription());
    addHelpTextRow(builder, "Is Archive?:", Console.CONSTANTS.unmanagedDeploymentArchiveDescription());
    addHelpTextRow(builder, "Name:", Console.CONSTANTS.deploymentNameDescription());
    addHelpTextRow(builder, "Runtime Name:", Console.CONSTANTS.deploymentRuntimeNameDescription());
    if (Console.getBootstrapContext().isStandalone()) {
        addHelpTextRow(builder, "Enable:", Console.CONSTANTS.deploymentEnabledDescription());
    }/*  www  .ja va2 s.  c  om*/
    return builder.toSafeHtml();
}

From source file:org.jboss.ballroom.client.widgets.forms.DefaultGroupRenderer.java

License:Open Source License

@Override
public Widget render(RenderMetaData metaData, String groupName, Map<String, FormItem> groupItems) {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendHtmlConstant(tablePrefix);

    // build html structure
    ArrayList<String> itemKeys = new ArrayList<String>(groupItems.keySet());
    ArrayList<FormItem> values = new ArrayList<FormItem>(groupItems.values());

    // Remove the hidden items from both lists. Iterate from the back so that removal doesn't
    // require adjustment of the numbering.
    for (int i = values.size() - 1; i >= 0; i--) {
        if (!values.get(i).render()) {
            values.remove(i);/*from  ww  w .  j av  a2 s. c o m*/
            itemKeys.remove(i);
        }
    }

    //int colWidth = 100/(metaData.getNumColumns()*2);

    int numColumns = metaData.getNumColumns();
    builder.appendHtmlConstant("<colgroup class='cols_" + numColumns + "'>");
    for (int col = 0; col < numColumns; col++) {
        // it's two TD's per item (title & value)
        builder.appendHtmlConstant("<col class='form-item-title-col'/>");
        builder.appendHtmlConstant("<col class='form-item-col'/>");

    }
    builder.appendHtmlConstant("</colgroup>");

    int i = 0;
    while (i < itemKeys.size()) {
        builder.appendHtmlConstant(
                "<tr class='form-attribute-row' data-dmr-attr='" + values.get(i).getName() + "'>"); // TODO only works with single column

        int col = 0;
        for (col = 0; col < numColumns; col++) {
            int next = i + col;
            if (next < itemKeys.size()) {
                FormItem item = values.get(next);
                createItemCell(metaData, builder, itemKeys.get(next), item);
            } else {
                break;
            }
        }

        builder.appendHtmlConstant("</tr>");
        i += col;
    }

    builder.appendHtmlConstant(tableSuffix);
    builder.appendHtmlConstant(
            "<p style='color:#999999;padding-left:8px'> Required fields are marked with an asterisk (<abbr class='req' title='required'>*</abbr>).</p>");

    HTMLPanel panel = new HTMLPanel(builder.toSafeHtml());

    // inline widget
    for (String key : itemKeys) {
        FormItem item = groupItems.get(key);
        final String widgetId = id + key;
        final String labelId = id + key + "_l"; // aria property key
        final String insertId = id + key + "_i";

        Element input = item.getInputElement();
        if (input != null) {
            input.setAttribute("id", widgetId);
            //widget.getElement().setAttribute("tabindex", "0");
            input.setAttribute("aria-labelledby", labelId);
            input.setAttribute("aria-required", String.valueOf(item.isRequired()));
        }
        panel.add(item.asWidget(), insertId);

    }

    return panel;
}

From source file:org.jboss.ballroom.client.widgets.forms.FieldsetRenderer.java

License:Open Source License

private HTMLPanel createFieldsetPanel(String groupName) {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();

    builder.appendHtmlConstant("<fieldset id='" + id + "' class='default-fieldset'>");
    builder.appendHtmlConstant("<legend class='default-legend'>").appendEscaped(groupName)
            .appendHtmlConstant("</legend>");
    builder.appendHtmlConstant("</fieldset>");

    return new HTMLPanel(builder.toSafeHtml());
}

From source file:org.jboss.gwt.circuit.sample.todo.client.views.TodoView.java

License:Open Source License

public TodoView() {

    VerticalPanel layout = new VerticalPanel();
    layout.getElement().setAttribute("style", "padding:20px;width:100%");

    users = new ListBox();
    users.addChangeHandler(new ChangeHandler() {
        @Override/* www. j  a  v  a2  s.co  m*/
        public void onChange(com.google.gwt.event.dom.client.ChangeEvent changeEvent) {
            dispatcher.dispatch(new SelectUser(users.getValue(users.getSelectedIndex())));
        }
    });

    layout.add(users);

    table = new CellTable<Todo>();
    table.getElement().setAttribute("style", "width:90%");
    table.setEmptyTableWidget(new HTML("No Todo items found!"));

    final SingleSelectionModel<Todo> selectionModel = new SingleSelectionModel<Todo>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent selectionChangeEvent) {
            dispatcher.dispatch(new SelectTodo(selectionModel.getSelectedObject()));
        }
    });

    table.setSelectionModel(selectionModel);

    dataProvider = new ListDataProvider<Todo>();
    dataProvider.addDataDisplay(table);

    Column<Todo, SafeHtml> nameColumn = new Column<Todo, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(Todo object) {
            String css = object.isDone() ? "todo-done" : "none";
            SafeHtmlBuilder html = new SafeHtmlBuilder();
            html.appendHtmlConstant("<div class=" + css + ">");
            html.appendEscaped(object.getName());
            html.appendHtmlConstant("</div>");
            return html.toSafeHtml();
        }
    };
    table.addColumn(nameColumn, "Todo");

    TextColumn<Todo> userColumn = new TextColumn<Todo>() {
        @Override
        public String getValue(Todo object) {
            return object.getUser();
        }
    };
    table.addColumn(userColumn, "Assignment");

    layout.add(table);

    Button addButton = new Button("Add", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {

            Dialog.askFor("Please provide a description:", new AsyncCallback<String>() {
                @Override
                public void onFailure(Throwable throwable) {
                }

                @Override
                public void onSuccess(String s) {
                    dispatcher.dispatch(new SaveTodo(new Todo(s)));
                }
            });
        }
    });

    removeButton = new Button("Remove", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            dispatcher.dispatch(new RemoveTodo(selectionModel.getSelectedObject()));
        }
    });
    removeButton.setEnabled(false); // enabled by selection

    doneButton = new Button("Done", new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            Todo todo = selectionModel.getSelectedObject();
            todo.setDone(true);
            dispatcher.dispatch(new ResolveTodo(todo));
        }
    });
    doneButton.setEnabled(false); // enabled by selection

    HorizontalPanel tools = new HorizontalPanel();
    tools.add(addButton);
    tools.add(removeButton);
    tools.add(doneButton);

    layout.add(tools);

    initWidget(layout);
}

From source file:org.jboss.hal.ballroom.autocomplete.ReadChildrenRenderer.java

License:Apache License

@Override
public String render(JsonObject item, String query) {
    String name = item.get(NAME).asString();
    @NonNls
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendHtmlConstant("<div class=\"" + autocompleteSuggestion + "\" data-val=\"" + name + "\">");
    JsonArray addresses = item.getArray(ADDRESSES);
    if (addresses.length() != 0) {
        for (int i = 0; i < addresses.length(); i++) {
            JsonObject keyValue = addresses.getObject(i);
            builder.appendHtmlConstant(/*from   ww  w.ja v a  2s.  c  o  m*/
                    "<span title=\"" + keyValue.getString(KEY) + "\" class=\"" + address + "\">");
            builder.appendEscaped(keyValue.getString(VALUE));
            builder.appendEscaped(" / ");
            builder.appendHtmlConstant("</span>");
        }
    }
    builder.appendHtmlConstant(highlight(query).replace(name, "<b>$1</b>")) //NON-NLS
            .appendHtmlConstant("</div>");
    return builder.toSafeHtml().asString();
}

From source file:org.jboss.hal.ballroom.autocomplete.StringRenderer.java

License:Apache License

@Override
public String render(T item, String query) {
    String itm = toString.apply(item);
    @NonNls
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendHtmlConstant("<div class=\"" + autocompleteSuggestion + "\" data-val=\"" + itm + "\">")
            .appendHtmlConstant(highlight(query).replace(itm, "<b>$1</b>")) //NON-NLS
            .appendHtmlConstant("</div>");
    return builder.toSafeHtml().asString();
}

From source file:org.jboss.hal.ballroom.HelpTextBuilder.java

License:Apache License

public SafeHtml helpText(Property property) {
    SafeHtmlBuilder help = new SafeHtmlBuilder();
    ModelNode attribute = property.getValue();
    boolean supportsExpression = attribute.hasDefined(EXPRESSIONS_ALLOWED)
            && attribute.get(EXPRESSIONS_ALLOWED).asBoolean(false);
    boolean required = attribute.hasDefined(NILLABLE) && !attribute.get(NILLABLE).asBoolean(false);
    List<String> requires = attribute.hasDefined(REQUIRES)
            ? attribute.get(REQUIRES).asList().stream().map(ModelNode::asString).collect(toList())
            : Collections.emptyList();
    List<String> alternatives = attribute.hasDefined(ALTERNATIVES)
            ? attribute.get(ALTERNATIVES).asList().stream().map(ModelNode::asString).collect(toList())
            : Collections.emptyList();
    RestartMode restartMode = restartRequired(attribute);
    if (restartMode == UNKNOWN) {
        logger.warn("Unknown restart mode in attribute description for '{}': '{}'", property.getName(),
                attribute.get(RESTART_REQUIRED).asString());
    }/* w w w. j  a va  2  s . com*/
    boolean showRestartHelp = (restartMode == ALL_SERVICES || restartMode == RestartMode.JVM
            || restartMode == RESOURCE_SERVICES);

    SafeHtml desc = SafeHtmlUtils.fromSafeConstant(attribute.get(DESCRIPTION).asString());
    help.append(desc);

    LabelBuilder labelBuilder = new LabelBuilder();
    List<SafeHtml> textModules = new ArrayList<>();
    if (required) {
        textModules.add(SafeHtmlUtils.fromString(CONSTANTS.requiredField()));
    }
    if (attribute.hasDefined(CAPABILITY_REFERENCE)) {
        textModules.add(MESSAGES.capabilityReference(attribute.get(CAPABILITY_REFERENCE).asString()));
    }
    if (supportsExpression) {
        textModules.add(SafeHtmlUtils.fromString(CONSTANTS.supportsExpressions()));
    }
    if (attribute.hasDefined(UNIT)) {
        textModules.add(MESSAGES.unit(attribute.get(UNIT).asString().toLowerCase()));
    }
    if (!requires.isEmpty()) {
        textModules.add(MESSAGES.requires(labelBuilder.enumeration(requires, CONSTANTS.and())));
    }
    if (!alternatives.isEmpty()) {
        textModules.add(MESSAGES.alternativesHelp(labelBuilder.enumeration(alternatives, CONSTANTS.and())));
    }
    if (showRestartHelp) {
        textModules.add(SafeHtmlUtils.fromString(restartMode.description()));
    }
    if (!textModules.isEmpty()) {
        help.appendHtmlConstant("<br/>");
        for (SafeHtml html : textModules) {
            help.append(html);
            help.append(SafeHtmlUtils.fromString(". "));
        }
    }

    return help.toSafeHtml();
}

From source file:org.jboss.hal.client.configuration.InterfacePreview.java

License:Apache License

@Override
public void update(final NamedNode item) {
    Operation operation = new Operation.Builder(new ResourceAddress().add(SOCKET_BINDING_GROUP, "*"), QUERY)
            .param(SELECT, new ModelNode().add(NAME))
            .param(WHERE, new ModelNode().set(DEFAULT_INTERFACE, item.getName())).build();
    dispatcher.execute(operation, result -> {
        List<String> socketBindingGroups = result.asList().stream().filter(modelNode -> !modelNode.isFailure())
                .map(modelNode -> failSafeGet(modelNode, RESULT + "/" + NAME)).filter(ModelNode::isDefined)
                .map(ModelNode::asString).sorted().collect(toList());
        if (!socketBindingGroups.isEmpty()) {
            @NonNls
            SafeHtmlBuilder html = new SafeHtmlBuilder();
            for (Iterator<String> iterator = socketBindingGroups.iterator(); iterator.hasNext();) {
                String sbg = iterator.next();
                PlaceRequest sbgPlaceRequest = places.finderPlace(NameTokens.CONFIGURATION,
                        new FinderPath().append(Ids.CONFIGURATION, Ids.asId(Names.SOCKET_BINDINGS))
                                .append(Ids.SOCKET_BINDING_GROUP, sbg))
                        .build();//  ww w.  java 2s  . c  o  m
                String token = places.historyToken(sbgPlaceRequest);
                html.appendHtmlConstant("<a href=\"").appendHtmlConstant(token).appendHtmlConstant("\">")
                        .appendEscaped(sbg).appendHtmlConstant("</a>");
                if (iterator.hasNext()) {
                    html.appendEscaped(", ");
                }
            }
            links.innerHTML = html.toSafeHtml().asString();
        } else {
            links.textContent = Names.NOT_AVAILABLE;
        }
    });
}

From source file:org.jboss.hal.client.configuration.ProfilePreview.java

License:Apache License

@Override
public void update(NamedNode item) {
    if (item.hasDefined(INCLUDES) && !item.get(INCLUDES).asList().isEmpty()) {
        String includes = item.get(INCLUDES).asList().stream().map(ModelNode::asString).collect(joining(", "));
        includesElement.textContent = resources.messages().profileIncludes(includes);
        Elements.setVisible(includesElement, true);

    } else {//from   w  w  w .  j  a va2  s .  co m
        Elements.setVisible(includesElement, false);
    }

    Operation operation = new Operation.Builder(new ResourceAddress().add(SERVER_GROUP, "*"), QUERY)
            .param(WHERE, new ModelNode().set(PROFILE, item.getName())).build();
    dispatcher.execute(operation, result -> {
        List<String> serverGroups = result.asList().stream()
                .map(modelNode -> new ResourceAddress(modelNode.get(ADDRESS))).map(ResourceAddress::lastValue)
                .sorted().collect(Collectors.toList());
        if (!serverGroups.isEmpty()) {
            @NonNls
            SafeHtmlBuilder html = new SafeHtmlBuilder();
            for (Iterator<String> iterator = serverGroups.iterator(); iterator.hasNext();) {
                String serverGroup = iterator.next();
                PlaceRequest placeRequest = places
                        .finderPlace(NameTokens.RUNTIME, finderPathFactory.runtimeServerGroupPath(serverGroup))
                        .build();
                String token = places.historyToken(placeRequest);
                html.appendHtmlConstant("<a href=\"").appendHtmlConstant(token).appendHtmlConstant("\">")
                        .appendEscaped(serverGroup).appendHtmlConstant("</a>");
                if (iterator.hasNext()) {
                    html.appendEscaped(", ");
                }
            }
            serverGroupsElement.innerHTML = resources.messages().profileUsedInServerGroups(html.toSafeHtml())
                    .asString();
        } else {
            serverGroupsElement.innerHTML = resources.messages().profileNotUsedInServerGroups().asString();
        }
    });
}

From source file:org.jboss.hal.client.configuration.SocketBindingGroupPreview.java

License:Apache License

@SuppressWarnings("HardCodedStringLiteral")
SocketBindingGroupPreview(NamedNode socketBinding, Places places) {
    super(socketBinding.getName());

    attributes = new PreviewAttributes<>(socketBinding).append(model -> {
        String defaultInterface = model.get(DEFAULT_INTERFACE).asString();
        PlaceRequest interfacePlaceRequest = places.finderPlace(NameTokens.CONFIGURATION, new FinderPath()
                .append(Ids.CONFIGURATION, Ids.asId(Names.INTERFACES)).append(Ids.INTERFACE, defaultInterface))
                .build();//w ww . ja va 2s.c om
        String token = places.historyToken(interfacePlaceRequest);
        return new PreviewAttribute(Names.DEFAULT_INTERFACE, defaultInterface, token);
    }).append(PORT_OFFSET).append(model -> {
        if (model.hasDefined(INCLUDES)) {
            SafeHtmlBuilder html = new SafeHtmlBuilder();
            for (Iterator<ModelNode> iterator = model.get(INCLUDES).asList().iterator(); iterator.hasNext();) {
                String sbg = iterator.next().asString();
                PlaceRequest sbgPlaceRequest = places.finderPlace(NameTokens.CONFIGURATION,
                        new FinderPath().append(Ids.CONFIGURATION, Ids.asId(Names.SOCKET_BINDINGS))
                                .append(Ids.SOCKET_BINDING_GROUP, sbg))
                        .build();
                String token = places.historyToken(sbgPlaceRequest);
                html.appendHtmlConstant("<a href=\"").appendHtmlConstant(token).appendHtmlConstant("\">")
                        .appendEscaped(sbg).appendHtmlConstant("</a>");
                if (iterator.hasNext()) {
                    html.appendEscaped(", ");
                }
            }
            return new PreviewAttribute(Names.INCLUDES, html.toSafeHtml());
        } else {
            return new PreviewAttribute(Names.INCLUDES, Names.NOT_AVAILABLE);
        }
    });
    previewBuilder().addAll(attributes);

    PreviewAttributes<NamedNode> ports = new PreviewAttributes<>(socketBinding, Names.PORTS)
            .append(model -> new PreviewAttribute(Names.HTTP, port(model, HTTP)))
            .append(model -> new PreviewAttribute(Names.HTTPS, port(model, HTTPS)))
            .append(model -> new PreviewAttribute(Names.MANAGEMENT, port(model, MANAGEMENT_HTTP)))
            .append(model -> new PreviewAttribute(Names.SECURE_MANAGEMENT, port(model, MANAGEMENT_HTTPS)));
    previewBuilder().addAll(ports);
}