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

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

Introduction

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

Prototype

public SafeHtmlBuilder append(SafeHtml html) 

Source Link

Document

Appends the contents of another SafeHtml object, without applying HTML-escaping to it.

Usage

From source file:com.sencha.gxt.widget.core.client.tree.Tree.java

License:sencha.com license

protected void renderChildren(M parent) {
    SafeHtmlBuilder markup = new SafeHtmlBuilder();
    int depth = store.getDepth(parent);
    List<M> children = parent == null ? store.getRootItems() : store.getChildren(parent);
    if (children.size() == 0) {
        return;//from  w ww . j  a v  a  2s .  c o m
    }

    for (M child : children) {
        register(child);
    }
    for (int i = 0; i < children.size(); i++) {
        TreeViewRenderMode mode = !bufferRender ? TreeViewRenderMode.ALL : TreeViewRenderMode.BUFFER_WRAP;
        markup.append(renderChild(parent, children.get(i), depth, mode));
    }
    Element container = getContainer(parent);
    container.setInnerSafeHtml(markup.toSafeHtml());

    for (int i = 0; i < children.size(); i++) {
        M child = children.get(i);
        TreeNode<M> node = findNode(child);

        if (autoExpand) {
            setExpanded(child, true);
        } else if (node.isExpand() && !isLeaf(node.getModel())) {
            node.setExpand(false);
            setExpanded(child, true);
        } else if (loader != null) {
            if (autoLoad) {
                if (store.isFiltered()) {
                    renderChildren(child);
                } else {
                    if (loader.hasChildren(child)) {
                        loader.loadChildren(child);
                    }
                }
            }
        } else if (autoLoad) {
            renderChildren(child);
        }
    }

    TreeNode<M> n = findNode(parent);
    if (n != null) {
        if (n.checked == CheckState.CHECKED) {
            switch (checkStyle) {
            case TRI:
                cascade = false;
                for (M child : store.getChildren(parent)) {
                    setChecked(child, CheckState.CHECKED);
                }
                cascade = true;
                break;
            case CHILDREN:
                onCheckCascade(n.getModel(), n.checked);
                break;
            default:
                // empty

            }

        }

        n.setChildrenRendered(true);
    }
    if (parent == null) {
        ensureFocusElement();
    }
    update();
}

From source file:com.tasktop.c2c.server.common.profile.web.client.DelegateCell.java

License:Open Source License

@Override
public void render(Context context, C value, SafeHtmlBuilder sb) {
    sb.append(renderDelegate.render(context, value, sb));
}

From source file:com.tasktop.c2c.server.common.profile.web.client.TextAreaInputCell.java

License:Open Source License

@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
    // Get the view data.
    ViewData viewData = getViewData(context.getKey());
    if (viewData != null && viewData.getCurrentValue().equals(value)) {
        clearViewData(context.getKey());
        viewData = null;/*w  w w. j  a  v a 2  s  . c  o m*/
    }

    String s = (viewData != null) ? viewData.getCurrentValue() : value;
    if (s != null) {
        SafeHtml html = renderer.render(s);
        // Note: template will not treat SafeHtml specially
        sb.append(template.input(html.asString()));
    } else {
        sb.appendHtmlConstant("<textarea tabindex=\"-1\"></textarea>");
    }
}

From source file:com.tasktop.c2c.server.common.profile.web.client.TextBoxCell.java

License:Open Source License

@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
    if (value == null) {
        value = "";
    }//www  . jav a2 s  . co  m
    sb.append(templateDelegate.getHtml(context, value));
}

From source file:com.tasktop.c2c.server.scm.web.ui.client.view.ScmCommitView.java

License:Open Source License

private SafeHtml buildHtml(List<DiffEntry> changes) {
    SafeHtmlBuilder htmlBuilder = new SafeHtmlBuilder();
    String fileName;//from  www. j av  a 2s  . co  m
    int i = 0;
    totalDiffLines = 0;
    for (DiffEntry diff : changes) {
        totalDiffLines = totalDiffLines + diff.getLinesAdded() + diff.getLinesRemoved();
        String elId = computeElementId(i++);
        switch (diff.getChangeType()) {
        case ADD:
        case MODIFY:
            fileName = diff.getNewPath();
            break;
        case DELETE:
            fileName = diff.getOldPath();
            break;
        case RENAME:
            fileName = scmMessages.renamedTo(diff.getOldPath(), diff.getNewPath());
            break;
        case COPY:
            fileName = scmMessages.copiedTo(diff.getOldPath(), diff.getNewPath());
            break;
        default:
            fileName = diff.getNewPath();
            break;
        }

        htmlBuilder
                .append(template.addFileChange(ScmResources.get.style().contentFileHeader(), elId, fileName));

        if (diff.isBinary()) {
            htmlBuilder.append(template.binary(""));
        } else {
            for (Hunk hunk : diff.getHunks()) {
                htmlBuilder.append(template.hunk("", hunk.getAStartLine(), hunk.getAEndLine(),
                        hunk.getBStartLine(), hunk.getBEndLine()));

                String style = null;
                char prefix = ' ';
                StringBuilder content = null;
                Hunk.LineChange.Type lt = null;

                for (Hunk.LineChange lc : hunk.getLineChanges()) {

                    if (lc.getType() != lt) {

                        if (content != null) {
                            htmlBuilder.append(template.content(style, content.toString()));
                        }

                        content = new StringBuilder();
                        lt = lc.getType();
                        switch (lc.getType()) {
                        case ADDED:
                            style = ScmResources.get.style().contentAdded();
                            prefix = '+';
                            break;
                        case REMOVED:
                            prefix = '-';
                            style = ScmResources.get.style().contentRemoved();
                            break;
                        default:
                            prefix = ' ';
                            style = "";
                        }
                    }

                    content.append(prefix + lc.getText() + "\n");
                }

                htmlBuilder.append(template.content(style, content.toString()));

            }
        }

    }
    return htmlBuilder.toSafeHtml();
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.admin.products.ProjectAdminTasksDisplayView.java

License:Open Source License

public void setPresenter(ProjectAdminTasksDisplayPresenter presenter) {
    this.presenter = presenter;
    productName.setText(presenter.getProduct().getName());
    productDescription.setText(presenter.getProduct().getDescription());
    productDefaultRelease.setText(presenter.getProduct().getDefaultMilestone().toString());
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    for (Component component : presenter.getProduct().getComponents()) {
        if (component.getId() < 0) {
            continue;
        }/*from   w  ww .j  a v  a 2 s  .  com*/
        String name = component.getName() == null ? "" : component.getName();
        String description = component.getDescription() == null ? "" : component.getDescription();
        String owner = "";

        if (component.getInitialOwner() != null) {
            owner = component.getInitialOwner().getRealname() == null ? ""
                    : commonProfileMessages.parentheses(component.getInitialOwner().getRealname());
        }
        sb.append(template.component(name, description, owner));
    }
    components.setHTML(sb.toSafeHtml());

    sb = new SafeHtmlBuilder();
    for (Milestone milestone : presenter.getProduct().getMilestones()) {
        if (milestone.getId() < 0) {
            continue;
        }
        sb.append(template.release(milestone.getValue()));
    }
    releases.setHTML(sb.toSafeHtml());

}

From source file:com.tasktop.c2c.server.tasks.client.widgets.PriorityCell.java

License:Open Source License

@Override
public void render(Context context, Task task, SafeHtmlBuilder sb) {
    Integer id = task.getPriority().getId();
    switch (id) {
    case 1:/* w w w.j a  v a  2s .  co m*/
        sb.append(tasksMessages.highestP5Div());
        break;
    case 2:
        sb.append(tasksMessages.highP4Div());
        break;
    case 3:
        sb.append(tasksMessages.normalP3Div());
        break;
    case 4:
        sb.append(tasksMessages.lowP2Div());
        break;
    case 5:
        sb.append(tasksMessages.lowestP1Div());
        break;
    default:
        sb.append(tasksMessages.normalP3Div());
        break;
    }
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.SeverityCell.java

License:Open Source License

@Override
public void render(Context context, Task task, SafeHtmlBuilder sb) {
    Integer id = task.getSeverity().getId();
    if (id < htmlBySeverity.length) {
        sb.append(htmlBySeverity[id]);
    }/*w w  w.j  a va 2 s .  c  om*/
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.tasklist.StatusColumn.java

License:Open Source License

@Override
protected Column<Task, ?> createColumn() {
    AbstractCell<Task> cell = new AbstractCell<Task>() {

        @Override//from   ww w  . j ava  2  s  .c  o  m
        public void render(com.google.gwt.cell.client.Cell.Context context, Task task, SafeHtmlBuilder sb) {
            if (task.getStatus().isOpen() || task.getResolution() == null
                    || task.getResolution().getValue().isEmpty()) {
                sb.append(template.status(stringValue(task.getStatus())));
            } else {
                sb.append(template.statusAndResolution(stringValue(task.getStatus()),
                        stringValue(task.getResolution())));
            }

        }
    };
    return new IdentityColumn<Task>(cell);
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.TasksSummaryView.java

License:Open Source License

public void createTaskSegment(String segmentTitle, List<Task> segmentTaskList) {

    // This was originally implemented using a similar pattern to ApplicationCard - however, that way took several
    // seconds on large lists and this is basically instantaneous (even though it doesn't look as pretty).

    SafeHtmlBuilder bodyBuilder = new SafeHtmlBuilder();

    int numClosed = 0;

    for (Task curTask : segmentTaskList) {

        bodyBuilder.appendHtmlConstant("<div class=\"task-summary-card\">");

        Anchor link = new Anchor(tasksMessages.taskWithId(curTask.getId()));
        link.setHref(ProjectTaskPlace.createPlace(appId, curTask.getId()).getHref());

        if (!curTask.getStatus().isOpen()) {
            link.addStyleName("resolved");
            numClosed++;/* ww w .  j a va 2s .  co m*/
        }

        bodyBuilder.appendHtmlConstant(link.toString());
        bodyBuilder.appendHtmlConstant(" -- ");
        bodyBuilder.appendEscaped(curTask.getShortDescription());
        bodyBuilder.appendHtmlConstant("<div class=\"clearleft\"></div></div>");

    }

    SafeHtmlBuilder headerBuilder = new SafeHtmlBuilder();

    if (segmentTitle != null) {
        int total = segmentTaskList.size();
        int numOpen = total - numClosed;
        Task sampleTask = segmentTaskList.get(0);

        Anchor link = new Anchor(segmentTitle,
                ProjectTasksSummaryPlace
                        .createPlaceForComponentAndRelease(appId, (Integer) productId,
                                sampleTask.getComponent().getId(), sampleTask.getMilestone().getValue())
                        .getHref());

        // We have a title, so insert it at the beginning of the HTML.
        headerBuilder.appendHtmlConstant("<h3 class=\"task-summary-header\">");
        headerBuilder
                .appendEscaped(tasksMessages.taskSummaryHeader(link.toString(), total, numOpen, numClosed));
        headerBuilder.appendHtmlConstant("</h3>");
    }

    // Now, add in the body after the header.
    headerBuilder.append(bodyBuilder.toSafeHtml());

    taskSummaryPanel.add(new HTML(headerBuilder.toSafeHtml()));
}