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

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

Introduction

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

Prototype

public SafeHtmlBuilder appendHtmlConstant(String html) 

Source Link

Document

Appends a compile-time-constant string, which will not be escaped.

Usage

From source file:org.glom.web.client.ui.cell.TextCell.java

License:Open Source License

@Override
public void render(final Context context, final String value, final SafeHtmlBuilder sb) {
    if (value == null) {
        // The value is from an empty row.
        sb.appendHtmlConstant(" ");
        return;/*from   w ww .ja v a  2  s  .c o  m*/
    }

    // Set the text and some CSS properties for the text.
    // The overflow and text-overflow properties tell the browser to add an ellipsis when the text overflows the
    // table cell.
    // FIXME this isn't using safe html correctly!
    sb.appendHtmlConstant("<div style=\"overflow: hidden; text-overflow: ellipsis; " + colorCSSProp.asString()
            + backgroundColorCSSProp.asString() + "\">");
    sb.append(SafeHtmlUtils.fromString(value));
    sb.appendHtmlConstant("</div>");

}

From source file:org.gss_project.gss.web.client.FileList.java

License:Open Source License

/**
 * Construct the file list widget. This entails setting up the widget
 * layout, fetching the number of files in the current folder from the
 * server and filling the local file cache of displayed files with data from
 * the server, as well./*from   ww w  .  j av  a 2s .  co m*/
 *
 * @param _images
 */
public FileList(Images _images) {
    images = _images;
    DragAndDropCellTable.Resources resources = GWT.create(TableResources.class);
    ProvidesKey<FileResource> keyProvider = new ProvidesKey<FileResource>() {

        @Override
        public Object getKey(FileResource item) {
            return item.getUri();
        }

    };
    celltable = new DragAndDropCellTable<FileResource>(GSS.VISIBLE_FILE_COUNT, resources, keyProvider);

    DragAndDropColumn<FileResource, ImageResource> status = new DragAndDropColumn<FileResource, ImageResource>(
            new ImageResourceCell() {
                @Override
                public boolean handlesSelection() {
                    return false;
                }
            }) {
        @Override
        public ImageResource getValue(FileResource entity) {
            return getFileIcon(entity);
        }

    };
    celltable.addColumn(status, "");

    initDragOperation(status);
    final DragAndDropColumn<FileResource, SafeHtml> nameColumn = new DragAndDropColumn<FileResource, SafeHtml>(
            new SafeHtmlCell()) {

        @Override
        public SafeHtml getValue(FileResource object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.append(Templates.INSTANCE.filenameSpan(object.getName()));
            if (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif")
                    || object.getContentType().endsWith("jpeg")) {
                sb.appendHtmlConstant("&nbsp;")
                        .append(Templates.INSTANCE.viewLink(
                                GSS.get().getTopPanel().getFileMenu().getDownloadURL(object),
                                object.getOwner() + " : " + object.getPath() + object.getName()));
            }

            return sb.toSafeHtml();
        }

    };
    initDragOperation(nameColumn);
    celltable.addColumn(nameColumn, nameHeader = new SortableHeader("Name"));
    allHeaders.add(nameHeader);
    //nameHeader.setSorted(true);
    //nameHeader.toggleReverseSort();
    nameHeader.setUpdater(new FileValueUpdater(nameHeader, "name"));
    celltable.redrawHeaders();

    SortableHeader aheader;
    DragAndDropColumn<FileResource, String> aColumn;
    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            return GSS.get().findUserFullName(object.getOwner());
        }
    }, aheader = new SortableHeader("Owner"));
    initDragOperation(aColumn);
    allHeaders.add(aheader);
    aheader.setUpdater(new FileValueUpdater(aheader, "owner"));
    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            // TODO Auto-generated method stub
            return object.getPath();
        }
    }, aheader = new SortableHeader("Path"));
    initDragOperation(aColumn);
    allHeaders.add(aheader);

    aheader.setUpdater(new FileValueUpdater(aheader, "path"));
    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            if (object.isVersioned())
                return object.getVersion().toString();
            return "-";
        }
    }, aheader = new SortableHeader("Version"));
    initDragOperation(aColumn);
    allHeaders.add(aheader);
    aheader.setUpdater(new FileValueUpdater(aheader, "version"));
    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            // TODO Auto-generated method stub
            return object.getFileSizeAsString();
        }
    }, aheader = new SortableHeader("Size"));
    initDragOperation(aColumn);
    allHeaders.add(aheader);
    aheader.setUpdater(new FileValueUpdater(aheader, "size"));
    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            return formatter.format(object.getModificationDate());
        }
    }, aheader = new SortableHeader("Last Modified"));
    allHeaders.add(aheader);
    aheader.setUpdater(new FileValueUpdater(aheader, "date"));

    provider.addDataDisplay(celltable);
    celltable.addDragStopHandler(dragStop);
    celltable.addDragStartHandler(new DragStartEventHandler() {

        public void onDragStart(DragStartEvent event) {
            FileResource value = event.getDraggableData();

            com.google.gwt.dom.client.Element helper = event.getHelper();
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant("<b>");
            DisplayHelper.log(value.getName());
            if (getSelectedFiles().size() == 1)
                sb.appendEscaped(value.getName());
            else
                sb.appendEscaped(getSelectedFiles().size() + " files");
            sb.appendHtmlConstant("</b>");
            helper.setInnerHTML(sb.toSafeHtml().asString());

        }
    });

    VerticalPanel vp = new VerticalPanel();
    vp.setWidth("100%");
    pagerTop = new GssSimplePager(GssSimplePager.TextLocation.CENTER);
    pagerTop.setDisplay(celltable);
    uploadButtonTop = new Button("<span id='topMenu.file.upload'>"
            + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + "&nbsp;Upload</span>");
    uploadButtonTop.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            new UploadFileCommand(null).execute();
        }
    });
    HorizontalPanel topPanel = new HorizontalPanel();
    topPanel.add(pagerTop);
    topPanel.add(uploadButtonTop);
    vp.add(topPanel);
    celltable.setWidth("100%");
    vp.add(celltable);
    pagerBottom = new GssSimplePager(GssSimplePager.TextLocation.CENTER);
    pagerBottom.setDisplay(celltable);
    HorizontalPanel bottomPanel = new HorizontalPanel();
    bottomPanel.add(pagerBottom);
    uploadButtonBottom = new Button("<span id='topMenu.file.upload'>"
            + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + "&nbsp;Upload</span>");
    uploadButtonBottom.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            new UploadFileCommand(null).execute();
        }
    });
    bottomPanel.add(uploadButtonBottom);
    vp.add(bottomPanel);
    vp.setCellWidth(celltable, "100%");

    initWidget(vp);
    pagerBottom.setVisible(false);
    pagerTop.setVisible(false);

    celltable.setStyleName("gss-List");
    selectionModel = new MultiSelectionModel<FileResource>(keyProvider);

    Handler selectionHandler = new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(com.google.gwt.view.client.SelectionChangeEvent event) {
            if (getSelectedFiles().size() == 1)
                GSS.get().setCurrentSelection(getSelectedFiles().get(0));
            else
                GSS.get().setCurrentSelection(getSelectedFiles());
        }
    };
    selectionModel.addSelectionChangeHandler(selectionHandler);

    celltable.setSelectionModel(selectionModel, GSSSelectionEventManager.<FileResource>createDefaultManager());
    celltable.setPageSize(GSS.VISIBLE_FILE_COUNT);

    //celltable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
    Scheduler.get().scheduleIncremental(new RepeatingCommand() {

        @Override
        public boolean execute() {
            return fetchRootFolder();
        }
    });
    sinkEvents(Event.ONCONTEXTMENU);
    sinkEvents(Event.ONMOUSEUP);
    sinkEvents(Event.ONMOUSEDOWN);
    sinkEvents(Event.ONCLICK);
    sinkEvents(Event.ONKEYDOWN);
    sinkEvents(Event.ONDBLCLICK);
    GSS.preventIESelection();
}

From source file:org.gss_project.gss.web.client.SearchResults.java

License:Open Source License

/**
 * Construct the file list widget. This entails setting up the widget
 * layout, fetching the number of files in the current folder from the
 * server and filling the local file cache of displayed files with data from
 * the server, as well./*from   www.ja  v  a2  s. c om*/
 *
 * @param _images
 */
public SearchResults(Images _images) {
    images = _images;
    DragAndDropCellTable.Resources resources = GWT.create(TableResources.class);
    ProvidesKey<FileResource> keyProvider = new ProvidesKey<FileResource>() {

        @Override
        public Object getKey(FileResource item) {
            return item.getUri();
        }

    };

    celltable = new DragAndDropCellTable<FileResource>(GSS.VISIBLE_FILE_COUNT, resources, keyProvider) {
        @Override
        protected void onBrowserEvent2(Event event) {
            /*if (DOM.eventGetType((Event) event) == Event.ONMOUSEDOWN && DOM.eventGetButton((Event) event) == NativeEvent.BUTTON_RIGHT){
               fireClickEvent((Element) event.getEventTarget().cast());               
            }*/
            super.onBrowserEvent2(event);
        }
    };
    provider.addDataDisplay(celltable);
    celltable.addDragStopHandler(dragStop);
    celltable.addDragStartHandler(new DragStartEventHandler() {

        public void onDragStart(DragStartEvent event) {
            FileResource value = event.getDraggableData();

            com.google.gwt.dom.client.Element helper = event.getHelper();
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant("<b>");
            DisplayHelper.log(value.getName());
            if (getSelectedFiles().size() == 1)
                sb.appendEscaped(value.getName());
            else
                sb.appendEscaped(getSelectedFiles().size() + " files");
            sb.appendHtmlConstant("</b>");
            helper.setInnerHTML(sb.toSafeHtml().asString());

        }
    });
    DragAndDropColumn<FileResource, ImageResource> status = new DragAndDropColumn<FileResource, ImageResource>(
            new ImageResourceCell() {
                @Override
                public boolean handlesSelection() {
                    return false;
                }
            }) {
        @Override
        public ImageResource getValue(FileResource entity) {
            return getFileIcon(entity);
        }

    };
    celltable.addColumn(status, "");

    initDragOperation(status);
    final DragAndDropColumn<FileResource, SafeHtml> nameColumn = new DragAndDropColumn<FileResource, SafeHtml>(
            new SafeHtmlCell()) {

        @Override
        public SafeHtml getValue(FileResource object) {
            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.append(FileList.Templates.INSTANCE.filenameSpan(object.getName()));
            if (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif")
                    || object.getContentType().endsWith("jpeg")) {
                sb.appendHtmlConstant("&nbsp;")
                        .append(FileList.Templates.INSTANCE.viewLink(
                                GSS.get().getTopPanel().getFileMenu().getDownloadURL(object),
                                object.getOwner() + " : " + object.getPath() + object.getName()));
            }

            return sb.toSafeHtml();
        }

    };
    initDragOperation(nameColumn);
    celltable.addColumn(nameColumn, "Name");

    DragAndDropColumn<FileResource, String> aColumn;
    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            return GSS.get().findUserFullName(object.getOwner());
        }
    }, "Owner");
    initDragOperation(aColumn);

    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            if (object.isDeleted())
                return object.getPath() + " (In Trash)";
            return object.getPath();
        }
    }, "Path");
    initDragOperation(aColumn);

    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            if (object.isVersioned())
                return object.getVersion().toString();
            return "-";
        }
    }, "Version");
    initDragOperation(aColumn);

    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            // TODO Auto-generated method stub
            return object.getFileSizeAsString();
        }
    }, "Size");
    initDragOperation(aColumn);

    celltable.addColumn(aColumn = new DragAndDropColumn<FileResource, String>(new TextCell()) {
        @Override
        public String getValue(FileResource object) {
            return formatter.format(object.getModificationDate());
        }
    }, "Last Modified");

    VerticalPanel vp = new VerticalPanel();
    vp.setWidth("100%");
    celltable.setWidth("100%");
    vp.add(searchResults);
    searchResults.addStyleName("gss-searchLabel");
    pagerTop = new GssSimplePager(GssSimplePager.TextLocation.CENTER);
    pagerTop.setDisplay(celltable);
    vp.add(pagerTop);
    vp.add(celltable);
    pager = new GssSimplePager(GssSimplePager.TextLocation.CENTER);
    pager.setDisplay(celltable);
    //celltable.setPageSize(2);

    vp.add(pager);
    vp.setCellWidth(celltable, "100%");

    initWidget(vp);

    //initWidget(celltable);
    celltable.setStyleName("gss-List");
    selectionModel = new MultiSelectionModel<FileResource>();

    Handler selectionHandler = new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(com.google.gwt.view.client.SelectionChangeEvent event) {
            if (getSelectedFiles().size() == 1)
                GSS.get().setCurrentSelection(getSelectedFiles().get(0));
            else
                GSS.get().setCurrentSelection(getSelectedFiles());
            //contextMenu.setFiles(getSelectedFiles());
        }
    };
    selectionModel.addSelectionChangeHandler(selectionHandler);

    celltable.setSelectionModel(selectionModel, GSSSelectionEventManager.<FileResource>createDefaultManager());
    celltable.setPageSize(GSS.VISIBLE_FILE_COUNT);
    celltable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
    Scheduler.get().scheduleIncremental(new RepeatingCommand() {

        @Override
        public boolean execute() {
            return fetchRootFolder();
        }
    });
    sinkEvents(Event.ONCONTEXTMENU);
    sinkEvents(Event.ONMOUSEUP);
    sinkEvents(Event.ONMOUSEDOWN);
    sinkEvents(Event.ONCLICK);
    sinkEvents(Event.ONKEYDOWN);
    sinkEvents(Event.ONDBLCLICK);
    GSS.preventIESelection();
}

From source file:org.gwt.dynamic.module.foo.client.FooContentView.java

License:MIT License

void setFooData(FooData fooData) {
    LOG.info("FooContentView.setFooData: fooData=" + fooData);
    SafeHtmlBuilder shb = new SafeHtmlBuilder();
    shb.appendHtmlConstant("<h1>").appendEscaped(fooData.getHeader()).appendHtmlConstant("</h1>");
    shb.appendHtmlConstant(fooData.getHtml());
    content.setHTML(shb.toSafeHtml());/*from   w  ww .  j ava  2  s.c  o m*/
    content.removeStyleName(style.loading());
}

From source file:org.gwtbootstrap3.client.ui.gwt.ButtonCell.java

License:Apache License

@Override
public void render(com.google.gwt.cell.client.Cell.Context context, SafeHtml data, SafeHtmlBuilder sb) {
    String cssClasses = new StringBuilder("btn") //
            .append(" ") //
            .append(type.getCssName()) //
            .append(" ") //
            .append(size.getCssName()) //
            .toString();/*from   w  w w  .ja  v  a  2  s  . c o  m*/

    String disabled = "";
    if (!enabled) {
        disabled = " disabled=\"disabled\"";
    }

    sb.appendHtmlConstant(
            "<button type=\"button\" class=\"" + cssClasses + "\" tabindex=\"-1\"" + disabled + ">");
    if (icon != null) {
        String iconHtml = new StringBuilder("<i class=\"") //
                .append(Styles.FONT_AWESOME_BASE) //
                .append(" ") //
                .append(icon.getCssName()) //
                .append("\"></i> ") //
                .toString();
        sb.appendHtmlConstant(iconHtml);
    }
    if (data != null) {
        sb.append(data);
    }
    sb.appendHtmlConstant("</button>");
}

From source file:org.gwtbootstrap3.client.ui.PageHeader.java

License:Apache License

private void render() {
    final SafeHtmlBuilder builder = new SafeHtmlBuilder();

    builder.appendHtmlConstant("<h1>");
    builder.appendEscaped(heading == null ? "" : heading);

    if (subText != null && !subText.isEmpty()) {
        builder.appendEscaped(" ");
        builder.appendHtmlConstant("<small>");
        builder.appendEscaped(subText);//  w ww. j a  va2  s.c  o  m
        builder.appendHtmlConstant("</small>");
    }

    builder.appendHtmlConstant("</h1>");

    getElement().setInnerSafeHtml(builder.toSafeHtml());
}

From source file:org.hudsonci.maven.plugin.ui.gwt.buildinfo.widget.ModuleSummaryCell.java

License:Open Source License

@Override
public void render(Context context, MavenProjectDTO module, SafeHtmlBuilder sb) {
    if (null != module) {
        BuildResultDTO result = module.getBuildSummary().getResult();
        sb.appendHtmlConstant("<div class=\"" + "maven3-moduleResult" + result + "\">");
        sb.appendEscaped(module.getName());
        sb.appendEscaped(" " + new ModuleFormatter(module).duration());
        sb.appendHtmlConstant("</div>");
    }/* w ww .ja v a  2s.  c o  m*/
}

From source file:org.iplantc.de.diskResource.client.views.CheckBoxColumnDefaultAppearance.java

License:sencha.com license

@Override
public void renderCheckBox(Context context, DiskResource value, SafeHtmlBuilder sb) {
    sb.appendHtmlConstant("<div class='x-grid-row-checker'>&#160;</div>");
}

From source file:org.jboss.as.console.client.administration.accesscontrol.ui.Templates.java

License:Open Source License

static SafeHtml principalPreview(final Principal principal, Iterable<Assignment> includes,
        Iterable<Assignment> excludes) {
    SafeHtmlBuilder details = new SafeHtmlBuilder();
    details.appendHtmlConstant("<p>");
    if (!Iterables.isEmpty(excludes)) {
        List<Role> excludedRoles = Roles.orderedByName().immutableSortedCopy(distinctRoles(excludes));
        details.appendEscaped("Excluded from ");
        details.appendEscaped(Joiner.on(", ").join(Lists.transform(excludedRoles, Role::getName)));
        details.appendEscaped(".");
        details.appendHtmlConstant("<br/>");
    }/*from ww  w .  j  a v  a 2 s.c o m*/
    if (!Iterables.isEmpty(includes)) {
        List<Role> assignedRoles = Roles.orderedByName().immutableSortedCopy(distinctRoles(includes));
        details.appendEscaped("Assigned to ");
        details.appendEscaped(Joiner.on(", ").join(Lists.transform(assignedRoles, Role::getName)));
        details.appendEscaped(".");
    }
    if (Iterables.isEmpty(excludes) && Iterables.isEmpty(includes)) {
        details.appendEscaped("No roles are assigned to this ");
        details.appendEscaped(principal.getType() == Principal.Type.USER ? "user" : "group");
        details.append('.');
    }
    details.appendHtmlConstant("</p>");
    return principal.getType() == Principal.Type.USER ? PREVIEWS.user(principal.getName(), details.toSafeHtml())
            : PREVIEWS.group(principal.getName(), details.toSafeHtml());
}

From source file:org.jboss.as.console.client.administration.accesscontrol.ui.Templates.java

License:Open Source License

static SafeHtml roleMembers(final Role role, final Iterable<Principal> excludes,
        final Iterable<Principal> includes) {
    SafeHtmlBuilder members = new SafeHtmlBuilder();
    if (role.isIncludeAll()) {
        members.appendHtmlConstant("<p>")
                .appendEscaped("All authenticated users are automatically assigned to this role.")
                .appendHtmlConstant("</p>");

    } else if (Iterables.isEmpty(excludes) && Iterables.isEmpty(includes)) {
        members.appendHtmlConstant("<p>").appendEscaped("No users or groups are assigned to this role.")
                .appendHtmlConstant("</p>");

    } else {/*  w  w  w. ja  v  a2  s.co m*/
        if (!Iterables.isEmpty(excludes)) {
            String names = Joiner.on(", ").join(Iterables.transform(excludes, Principal::getNameAndRealm));
            members.appendHtmlConstant("<p><b>").appendEscaped("Excludes").appendHtmlConstant("</b><br/>")
                    .appendEscaped(names).appendHtmlConstant("</p>");
        }

        if (!Iterables.isEmpty(includes)) {
            String names = Joiner.on(", ").join(Iterables.transform(includes, Principal::getNameAndRealm));
            members.appendHtmlConstant("<p><b>").appendEscaped("Includes").appendHtmlConstant("</b><br/>")
                    .appendEscaped(names).appendHtmlConstant("</p>");
        }
    }
    return members.toSafeHtml();
}