Example usage for com.google.gwt.safehtml.shared SafeHtmlUtils fromSafeConstant

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlUtils fromSafeConstant

Introduction

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

Prototype

public static SafeHtml fromSafeConstant(String s) 

Source Link

Document

Returns a SafeHtml constructed from a safe string, i.e., without escaping the string.

Usage

From source file:org.jboss.as.console.client.administration.role.form.RolesFormItem.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    // table//from   w  w w .j  a v a 2  s.c om
    DefaultCellTable<Role> table = new DefaultCellTable<Role>(pageSize, keyProvider);
    table.setSelectionModel(selectionModel, DefaultSelectionEventManager
            .createCustomManager(new DefaultSelectionEventManager.CheckboxEventTranslator<Role>() {
                @Override
                public SelectAction translateSelectionEvent(CellPreviewEvent<Role> event) {
                    SelectAction action = super.translateSelectionEvent(event);
                    if (action.equals(SelectAction.IGNORE)) {
                        Role role = event.getValue();
                        boolean selected = selectionModel.isSelected(role);
                        return selected ? SelectAction.DESELECT : SelectAction.SELECT;
                    }
                    return action;
                }
            }));
    dataProvider.addDataDisplay(table);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(final SelectionChangeEvent event) {
            value.clear();
            value.addAll(selectionModel.getSelectedSet());
            setModified(true);
        }
    });

    // columns
    Column<Role, Boolean> checkColumn = new Column<Role, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Role role) {
            // Get the value from the selection model.
            return selectionModel.isSelected(role);
        }
    };
    TextColumn<Role> nameColumn = new TextColumn<Role>() {
        @Override
        public String getValue(Role role) {
            return role.getName();
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    table.setColumnWidth(checkColumn, 40, PX);
    table.addColumn(nameColumn, Console.CONSTANTS.common_label_name());

    // pager
    DefaultPager pager = new DefaultPager();
    pager.setWidth("auto");
    pager.setDisplay(table);

    // panels
    VerticalPanel content = new VerticalPanel();
    content.setWidth("95%");
    content.add(table);
    content.add(pager);
    wrapper = new FormItemPanelWrapper(content, this);
    return wrapper;
}

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

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    VerticalPanel root = new VerticalPanel();
    root.setStyleName("window-content");

    errorMessages = new HTML();
    errorMessages.setVisible(false);/* w  w w  .  ja v a2s . co m*/
    errorMessages.setStyleName("error-panel");
    intro = new Label();
    intro.getElement().getStyle().setMarginBottom(10, PX);

    root.add(new HTML("<h3>" + Console.CONSTANTS.assignContent() + "</h3>"));
    root.add(errorMessages);
    root.add(intro);

    // provider, selection model
    ProvidesKey<String> keyProvider = item -> item;
    dataProvider = new ListDataProvider<>(keyProvider);
    selectionModel = new MultiSelectionModel<>(keyProvider);

    // table
    table = new DefaultCellTable<>(5, keyProvider);
    table.setSelectionModel(selectionModel, DefaultSelectionEventManager
            .createCustomManager(new DefaultSelectionEventManager.CheckboxEventTranslator<String>() {
                @Override
                public SelectAction translateSelectionEvent(CellPreviewEvent<String> event) {
                    SelectAction action = super.translateSelectionEvent(event);
                    if (action.equals(SelectAction.IGNORE)) {
                        String serverGroup = event.getValue();
                        boolean selected = selectionModel.isSelected(serverGroup);
                        return selected ? SelectAction.DESELECT : SelectAction.SELECT;
                    }
                    return action;
                }
            }));
    dataProvider.addDataDisplay(table);
    root.add(table);

    // columns
    Column<String, Boolean> checkColumn = new Column<String, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(String serverGroup) {
            return selectionModel.isSelected(serverGroup);
        }
    };
    TextColumn<String> nameColumn = new TextColumn<String>() {
        @Override
        public String getValue(String serverGroup) {
            return serverGroup;
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    table.setColumnWidth(checkColumn, 40, PX);
    table.addColumn(nameColumn, "Server Group");

    // pager
    DefaultPager pager = new DefaultPager();
    pager.setWidth("auto");
    pager.setDisplay(table);
    root.add(pager);

    // enable assignments?
    Form<Object> form = new Form<>(Object.class); // form is just used for layout reasons
    CheckBoxItem enable = new CheckBoxItem("enable",
            Console.CONSTANTS.enableAssignmentOnSelectedServerGroups());
    form.setFields(enable);
    root.add(form.asWidget());

    return new TrappedFocusPanel(new WindowContentBuilder(root,
            new DialogueOptions(Console.CONSTANTS.common_label_assign(), event -> {
                Set<String> selectedSet = selectionModel.getSelectedSet();
                if (selectedSet.isEmpty()) {
                    errorMessages.setText(Console.CONSTANTS.pleaseSelectServerGroup());
                    errorMessages.setVisible(true);
                } else {
                    close();
                    presenter.assignContent(content, selectedSet, enable.getValue(), unmanaged);
                }
            }, Console.CONSTANTS.common_label_cancel(), event -> close())).build());
}

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

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    VerticalPanel root = new VerticalPanel();
    root.setStyleName("window-content");

    errorMessages = new HTML();
    errorMessages.setVisible(false);//from  ww  w. j  ava2  s .c  om
    errorMessages.setStyleName("error-panel");
    intro = new Label();
    intro.getElement().getStyle().setMarginBottom(10, PX);

    root.add(new HTML("<h3>Unassign Content</h3>"));
    root.add(errorMessages);
    root.add(intro);

    // provider, selection model
    ProvidesKey<String> keyProvider = item -> item;
    dataProvider = new ListDataProvider<>(keyProvider);
    selectionModel = new MultiSelectionModel<>(keyProvider);

    // table
    table = new DefaultCellTable<>(5, keyProvider);
    table.setSelectionModel(selectionModel, DefaultSelectionEventManager
            .createCustomManager(new DefaultSelectionEventManager.CheckboxEventTranslator<String>() {
                @Override
                public SelectAction translateSelectionEvent(CellPreviewEvent<String> event) {
                    SelectAction action = super.translateSelectionEvent(event);
                    if (action.equals(SelectAction.IGNORE)) {
                        String serverGroup = event.getValue();
                        boolean selected = selectionModel.isSelected(serverGroup);
                        return selected ? SelectAction.DESELECT : SelectAction.SELECT;
                    }
                    return action;
                }
            }));
    dataProvider.addDataDisplay(table);
    root.add(table);

    // columns
    Column<String, Boolean> checkColumn = new Column<String, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(String serverGroup) {
            return selectionModel.isSelected(serverGroup);
        }
    };
    TextColumn<String> nameColumn = new TextColumn<String>() {
        @Override
        public String getValue(String serverGroup) {
            return serverGroup;
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    table.setColumnWidth(checkColumn, 40, PX);
    table.addColumn(nameColumn, "Server Group");

    // pager
    DefaultPager pager = new DefaultPager();
    pager.setWidth("auto");
    pager.setDisplay(table);
    root.add(pager);

    return new TrappedFocusPanel(new WindowContentBuilder(root,
            new DialogueOptions(Console.CONSTANTS.common_label_unassign(), event -> {
                Set<String> selectedSet = selectionModel.getSelectedSet();
                if (selectedSet.isEmpty()) {
                    errorMessages.setText(Console.CONSTANTS.pleaseSelectServerGroup());
                    errorMessages.setVisible(true);
                } else {
                    close();
                    presenter.unassignContent(content, selectedSet);
                }
            }, Console.CONSTANTS.common_label_cancel(), event -> close())).build());
}

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());
    }/*from  w  w  w  .j  a  v  a 2s .  c o m*/
    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.skeleton.HeaderView.java

License:Apache License

@Override
@SuppressWarnings("unchecked")
public void updateBreadcrumb(FinderContext finderContext) {
    clearBreadcrumb();/*from w w w  .  ja  va  2 s  . c o m*/
    FinderPath currentPath = new FinderPath();

    for (HandlerRegistration handler : breadcrumbHandlers) {
        handler.removeHandler();
    }
    breadcrumbHandlers.clear();

    for (Iterator<FinderSegment> iterator = finderContext.getPath().iterator(); iterator.hasNext();) {
        FinderSegment<Object> segment = iterator.next();
        if (segment.getColumnId() == null || segment.getItemId() == null) {
            // we need to ignore half filled segments which occur when removing items from a column
            break;
        }

        boolean last = !iterator.hasNext();
        currentPath.append(segment.getColumnId(), segment.getItemId());

        HtmlContentBuilder<HTMLLIElement> builder = li();
        if (last) {
            builder.css(active);
        }

        HTMLElement key = span().css(CSS.key).get();
        if (finderContext.getToken() != null) {
            PlaceRequest keyRequest = new PlaceRequest.Builder().nameToken(finderContext.getToken())
                    .with("path", currentPath.toString()).build();
            key.appendChild(a().css(clickable).on(click, event -> presenter.goTo(keyRequest))
                    .textContent(segment.getColumnTitle()).get());
        } else {
            key.textContent = segment.getColumnTitle();
        }
        builder.add(key).add(span().css(arrow).innerHtml(SafeHtmlUtils.fromSafeConstant("&#8658;")));

        HTMLElement value = span().css(CSS.value).get();
        if (segment.supportsDropdown()) {
            value.classList.add(dropdown);

            HTMLElement a;
            String id = Ids.build(segment.getColumnId(), VALUE);
            value.appendChild(a = a().css(clickable).id(id).data(UIConstants.TOGGLE, UIConstants.DROPDOWN)
                    .aria(UIConstants.HAS_POPUP, UIConstants.TRUE).aria(UIConstants.EXPANDED, UIConstants.FALSE)
                    .attr(UIConstants.ROLE, UIConstants.BUTTON).get());
            breadcrumbHandlers.add(bind(a, click, event -> {
                Element ul = a.nextElementSibling;
                segment.dropdown(finderContext, items -> {
                    Elements.removeChildrenFrom(ul);
                    if (items.isEmpty()) {
                        HTMLElement empty = li().css(CSS.empty)
                                .textContent(HeaderView.this.resources().constants().noItems()).get();
                        ul.appendChild(empty);
                    } else {
                        for (DropdownItem<Object> dropdownItem : items) {
                            HTMLElement element = li()
                                    .add(a().css(clickable).on(click, e -> dropdownItem.onSelect(finderContext))
                                            .textContent(dropdownItem.getTitle()))
                                    .get();
                            ul.appendChild(element);
                        }
                    }
                });
            }));

            String breadcrumbValue = segment.getItemTitle();
            if (breadcrumbValue.length() > MAX_BREADCRUMB_VALUE_LENGTH) {
                a.appendChild(
                        span().textContent(abbreviateMiddle(breadcrumbValue, MAX_BREADCRUMB_VALUE_LENGTH) + " ")
                                .title(breadcrumbValue).get());
            } else {
                a.appendChild(span().textContent(breadcrumbValue + " ").get());
            }
            a.appendChild(span().css(caret).get());
            value.appendChild(ul().css(dropdownMenu, valueDropdown).aria(UIConstants.LABELLED_BY, id).get());
        } else {
            String breadcrumbValue = segment.getItemTitle();
            if (breadcrumbValue.length() > MAX_BREADCRUMB_VALUE_LENGTH) {
                value.textContent = abbreviateMiddle(breadcrumbValue, MAX_BREADCRUMB_VALUE_LENGTH);
                value.title = breadcrumbValue;
            } else {
                value.textContent = segment.getItemTitle();
            }
        }
        builder.add(value);
        breadcrumb.insertBefore(builder.get(), breadcrumbToolsItem);
    }
}

From source file:org.jboss.hal.client.skeleton.HeaderView.java

License:Apache License

@Override
public void updateBreadcrumb(ModelBrowserPath path) {
    clearBreadcrumb();/*from   w  ww . j a v  a 2 s .  co m*/
    if (path == null || path.isEmpty()) {
        // deselection
        breadcrumb.insertBefore(li().textContent(resources().constants().nothingSelected()).get(),
                breadcrumbToolsItem);

    } else {
        ModelBrowser modelBrowser = path.getModelBrowser();
        for (Iterator<Segment[]> iterator = path.iterator(); iterator.hasNext();) {
            Segment[] segments = iterator.next();
            Segment key = segments[0];
            Segment value = segments[1];
            boolean link = value != ModelBrowserPath.WILDCARD && iterator.hasNext();

            HTMLElement valueContainer;
            HTMLElement li = li()
                    .add(span().css(CSS.key)
                            .add(a().css(clickable).on(click, event -> modelBrowser.select(key.id, true))
                                    .textContent(key.text)))
                    .add(span().css(arrow).innerHtml(SafeHtmlUtils.fromSafeConstant("&#8658;")))
                    .add(valueContainer = span().css(CSS.value).get()).get();
            if (link) {
                valueContainer.appendChild(valueContainer = a().css(clickable)
                        .on(click, event -> modelBrowser.select(value.id, true)).get());
            }
            valueContainer.textContent = value.text;
            breadcrumb.insertBefore(li, breadcrumbToolsItem);
        }
    }
}

From source file:org.jboss.hal.core.Core.java

License:Apache License

private void jsMessage(Level level, String message) {
    SafeHtml safeMessage = SafeHtmlUtils.fromSafeConstant(message);
    switch (level) {
    case ERROR://from w ww. jav  a  2 s  .  co m
        MessageEvent.fire(eventBus, Message.error(safeMessage));
        break;
    case WARNING:
        MessageEvent.fire(eventBus, Message.warning(safeMessage));
        break;
    case INFO:
        MessageEvent.fire(eventBus, Message.info(safeMessage));
        break;
    case SUCCESS:
        MessageEvent.fire(eventBus, Message.success(safeMessage));
        break;
    default:
        break;
    }
}

From source file:org.jboss.hal.core.finder.ResourceDescriptionPreview.java

License:Apache License

public ResourceDescriptionPreview(String header, Dispatcher dispatcher, Operation rrd) {
    super(header);
    HTMLElement content = section().get();
    previewBuilder().add(content);/* w  w  w .  jav a2 s  .  co m*/
    dispatcher.execute(rrd, result -> {
        if (result.hasDefined(DESCRIPTION)) {
            SafeHtml html = SafeHtmlUtils.fromSafeConstant(result.get(DESCRIPTION).asString());
            content.innerHTML = html.asString();
        }
    });
}

From source file:org.jboss.hal.core.modelbrowser.AttributesTable.java

License:Apache License

AttributesTable(List<Property> attributes, Resources resources) {

    HTMLElement tbody;// w  w  w. jav a2  s .  co m
    this.root = table().css(table, tableBordered, tableStriped, CSS.attributes)
            .add(thead().add(tr().add(th().textContent(resources.constants().attribute()))
                    .add(th().textContent(resources.constants().type()))
                    .add(th().textContent(resources.constants().storage()))
                    .add(th().textContent(resources.constants().accessType()))))
            .add(tbody = tbody().get()).get();

    HelpTextBuilder helpTextBuilder = new HelpTextBuilder();
    for (Property property : Ordering.natural().onResultOf(Property::getName).sortedCopy(attributes)) {
        ModelNode attribute = property.getValue();
        boolean required = attribute.hasDefined(NILLABLE) && !attribute.get(NILLABLE).asBoolean();
        boolean deprecated = attribute.hasDefined(DEPRECATED) && attribute.get(DEPRECATED).asBoolean();
        SafeHtml description = helpTextBuilder.helpText(property);

        // start a new table row
        HtmlContentBuilder<HTMLTableRowElement> builder = tr();

        // attribute name & description
        @NonNls
        SafeHtmlBuilder html = new SafeHtmlBuilder();
        html.appendHtmlConstant(
                "<strong" + (deprecated ? " class=\"" + CSS.deprecated + "\" title=\"deprecated\"" : "") + ">")
                .appendEscaped(property.getName()).appendHtmlConstant("</strong>");
        if (required) {
            html.appendHtmlConstant(NBSP).append(resources.messages().requiredMarker());
        }
        if (description != null) {
            html.appendHtmlConstant("<br/>").append(description);
        }
        builder.add(td().innerHtml(html.toSafeHtml()));

        // type
        builder.add(td().textContent(Types.formatType(attribute)));

        // storage
        HTMLElement storageTd;
        builder.add(storageTd = td().get());
        if (attribute.hasDefined(STORAGE)) {
            switch (attribute.get(STORAGE).asString()) {
            case CONFIGURATION:
                storageTd.appendChild(i().css(fontAwesome("database")).title(CONFIGURATION).get());
                break;
            case RUNTIME:
                storageTd.appendChild(i().css(pfIcon("memory")).title(RUNTIME).get());
                break;
            default:
                storageTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
                break;
            }
        } else {
            builder.innerHtml(SafeHtmlUtils.fromSafeConstant(NBSP));
        }

        // access type
        HTMLElement accessTypeTd;
        builder.add(accessTypeTd = td().get());
        if (attribute.hasDefined(ACCESS_TYPE)) {
            switch (attribute.get(ACCESS_TYPE).asString()) {
            case READ_WRITE:
                accessTypeTd.appendChild(i().css(pfIcon("edit")).title(READ_WRITE).get());
                break;
            case READ_ONLY:
                accessTypeTd.appendChild(i().css(fontAwesome("lock")).title(READ_ONLY).get());
                break;
            case METRIC:
                accessTypeTd.appendChild(i().css(pfIcon("trend-up")).title(METRIC).get());
                break;
            default:
                accessTypeTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
                break;
            }
        } else {
            builder.innerHtml(SafeHtmlUtils.fromSafeConstant(NBSP));
        }

        tbody.appendChild(builder.get());
    }
}

From source file:org.jboss.hal.core.modelbrowser.OperationsTable.java

License:Apache License

OperationsTable(List<Property> operations, Resources resources) {
    HTMLElement tbody;/*from w  w  w  .j  ava  2  s . c om*/

    this.resources = resources;
    this.root = table().css(table, tableBordered, tableStriped, CSS.operations)
            .add(thead().add(
                    tr().add(th().textContent(Names.NAME)).add(th().textContent(resources.constants().input()))
                            .add(th().textContent(resources.constants().output()))))
            .add(tbody = tbody().get()).get();

    for (Property property : Ordering.natural().onResultOf(Property::getName).sortedCopy(operations)) {
        ModelNode operation = property.getValue();
        String description = operation.hasDefined(DESCRIPTION) ? operation.get(DESCRIPTION).asString() : null;

        // start a new table row
        HtmlContentBuilder<HTMLTableRowElement> builder = tr();

        // operation name & description
        SafeHtmlBuilder html = new SafeHtmlBuilder();
        html.appendHtmlConstant("<strong>") //NON-NLS
                .appendEscaped(property.getName()).appendHtmlConstant("</strong>"); //NON-NLS
        if (description != null) {
            html.appendHtmlConstant("<br/>").appendEscaped(description); //NON-NLS
        }
        builder.add(td().innerHtml(html.toSafeHtml()));

        // input
        HTMLElement inputTd;
        builder.add(inputTd = td().get());
        if (operation.hasDefined(REQUEST_PROPERTIES)
                && !operation.get(REQUEST_PROPERTIES).asPropertyList().isEmpty()) {
            List<Property> input = operation.get(REQUEST_PROPERTIES).asPropertyList();
            HTMLElement ul;
            inputTd.appendChild(ul = ul().css(operationParameter).get());
            for (Property parameter : Ordering.natural().onResultOf(Property::getName).sortedCopy(input)) {
                HTMLElement li;
                ul.appendChild(li = li().get());
                buildParameter(li, parameter.getName(), parameter.getValue());
            }
        } else {
            inputTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
        }

        // output
        HTMLElement outputTd;
        builder.add(outputTd = td().get());
        if (operation.hasDefined(REPLY_PROPERTIES) && !operation.get(REPLY_PROPERTIES).asList().isEmpty()) {
            buildParameter(outputTd, null, operation.get(REPLY_PROPERTIES));
        } else {
            outputTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString();
        }

        tbody.appendChild(builder.get());
    }
}