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

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

Introduction

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

Prototype

public static SafeHtml fromTrustedString(String s) 

Source Link

Document

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

Usage

From source file:com.extjs.gxt.ui.client.dnd.TreeGridDragSource.java

License:sencha.com license

@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
protected void onDragStart(DNDEvent e) {
    TreeNode n = treeGrid.findNode((Element) e.getDragEvent().getStartElement());
    if (n == null) {
        e.setCancelled(true);//from  w w w  .  j a v  a  2  s . c  o  m
        return;
    }
    ModelData m = n.getModel();
    if (!treeGrid.getTreeView().isSelectableTarget(m, (Element) e.getDragEvent().getStartElement())) {
        e.setCancelled(true);
        return;
    }

    boolean leaf = treeGridSource == TreeSource.LEAF || treeGridSource == TreeSource.BOTH;
    boolean node = treeGridSource == TreeSource.NODE || treeGridSource == TreeSource.BOTH;

    List<ModelData> sel = treeGrid.getSelectionModel().getSelectedItems();
    if (sel.size() > 0) {
        boolean ok = true;
        for (ModelData mi : sel) {
            if ((leaf && treeGrid.isLeaf(mi)) || (node && !treeGrid.isLeaf(mi))) {
                continue;
            }
            ok = false;
            break;
        }
        if (ok) {
            List models = new ArrayList();
            for (ModelData mi : sel) {
                models.add(treeGrid.getTreeStore().getModelState(mi));
            }
            e.setData(models);
            e.setCancelled(false);
            e.getStatus()
                    .update(SafeHtmlUtils.fromTrustedString(Format.substitute(getStatusText(), sel.size())));

        } else {
            e.setCancelled(true);
        }
    } else {
        e.setCancelled(true);
    }
}

From source file:com.extjs.gxt.ui.client.widget.DatePicker.java

License:sencha.com license

private void createMonthPicker() {
    StringBuffer buf = new StringBuffer();
    buf.append("<table border=0 cellspacing=0>");
    String[] monthNames = constants.shortMonths();
    for (int i = 0; i < 6; i++) {
        buf.append("<tr><td class=x-date-mp-month><a href=#>");
        buf.append(monthNames[i]);//w  w w .  j a v a2s.co m
        buf.append("</a></td>");
        buf.append("<td class='x-date-mp-month x-date-mp-sep'><a href=#>");
        buf.append(monthNames[i + 6]);
        buf.append("</a></td>");
        if (i == 0) {
            buf.append(
                    "<td class=x-date-mp-ybtn align=center><a class=x-date-mp-prev href=#></a></td><td class='x-date-mp-ybtn' align=center><a class='x-date-mp-next'></a></td></tr>");
        } else {
            buf.append(
                    "<td class='x-date-mp-year'><a href='#'></a></td><td class='x-date-mp-year'><a href='#'></a></td></tr>");
        }
    }
    buf.append("<tr class=x-date-mp-btns><td colspan='4'><button type='button' class='x-date-mp-ok'>");
    buf.append(messages.getOkText());
    buf.append("</button><button type=button class=x-date-mp-cancel>");
    buf.append(messages.getCancelText());
    buf.append("</button></td></tr></table>");

    monthPicker.update(SafeHtmlUtils.fromTrustedString(buf.toString()));

    mpMonths = new CompositeElement(Util.toElementArray(monthPicker.select("td.x-date-mp-month")));
    mpYears = new CompositeElement(Util.toElementArray(monthPicker.select("td.x-date-mp-year")));

    mpMonths.each(new CompositeFunction() {

        public void doFunction(Element elem, CompositeElement ce, int index) {
            index += 1;
            if (index % 2 == 0) {
                elem.setPropertyInt("xmonth", (int) (5 + (Math.round(index * .5))));
            } else {
                elem.setPropertyInt("xmonth", (int) (Math.round((index - 1) * .5)));
            }
        }

    });

}

From source file:com.extjs.gxt.ui.client.widget.DatePicker.java

License:sencha.com license

private void updateMPYear(int year) {
    mpyear = year;/*from  w w  w.j  a v a  2s.  c o  m*/
    for (int i = 1; i <= 10; i++) {
        El td = new El(mpYears.item(i - 1));
        int y2;
        if (i % 2 == 0) {
            y2 = (int) (year + (Math.round(i * .5)));
        } else {
            y2 = (int) (year - (5 - Math.round(i * .5)));
        }
        td.firstChild().update(SafeHtmlUtils.fromTrustedString("" + y2));
        td.dom.setPropertyInt("xyear", y2);
        td.setStyleName("x-date-mp-sel", y2 == mpSelYear);
    }
}

From source file:com.extjs.gxt.ui.client.widget.flash.FlashComponent.java

License:sencha.com license

@Override
protected void onAttach() {
    super.onAttach();
    el().setInnerHtml(SafeHtmlUtils.fromTrustedString("<div id=\"" + getSwfId() + "\"></div>"));
    SwfConfig config = new SwfConfig();
    injectFlash(config);// www .j a  va  2s  .  c o m
}

From source file:com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig.java

License:sencha.com license

/**
 * Called to render each check cell.//  w w  w  . ja  v  a 2s.co m
 * 
 * @param model the model
 * @param property the model property
 * @param config the config object
 * @param rowIndex the row index
 * @param colIndex the column index
 * @param store the list store
 * @return the rendered HTML
 */
protected SafeHtml onRender(ModelData model, String property, ColumnData config, int rowIndex, int colIndex,
        ListStore<ModelData> store) {
    config.css = "x-grid3-check-col-td";
    String checked = getCheckState(model, property, rowIndex, colIndex);
    if (GXT.isAriaEnabled()) {
        config.cellAttr = "aria-checked=" + (checked.equals("-on") ? "true" : "false");
    }
    return SafeHtmlUtils.fromTrustedString("<div class='x-grid3-check-col" + " x-grid3-check-col" + checked
            + " x-grid3-cc-" + getId() + "'>&#160;</div>");
}

From source file:com.extjs.gxt.ui.client.widget.grid.GridView.java

License:sencha.com license

protected void applyEmptyText() {
    if (emptyText == null) {
        emptyText = SafeGxt.NO_BREAK_SPACE;
    }/*from  w w  w.ja  v a2 s. com*/
    if (!hasRows()) {
        mainBody.setInnerHtml(SafeHtmlUtils
                .fromTrustedString("<div class='x-grid-empty'>" + emptyText.asString() + "</div>"));
    }
    syncHScroll();
}

From source file:com.extjs.gxt.ui.client.widget.grid.GridView.java

License:sencha.com license

protected SafeHtml getRenderedValue(ColumnData data, int rowIndex, int colIndex, ModelData m, String property) {
    GridCellRenderer<ModelData> r = cm.getRenderer(colIndex);
    List<Widget> rowMap = widgetList.get(rowIndex);
    rowMap.add(colIndex, null);//  www.j  a  v  a2 s  .  c  o m
    if (r != null) {
        SafeHtml o = r.render(ds.getAt(rowIndex), property, data, rowIndex, colIndex, ds, grid);
        if (o != null) {
            return o;
        }
    }
    Object val = m.get(property);
    SafeHtml html = null;
    ColumnConfig c = cm.getColumn(colIndex);

    if (val != null) {
        if (val instanceof Number && c.getNumberFormat() != null) {
            Number n = (Number) val;
            html = SafeHtmlUtils.fromTrustedString(c.getNumberFormat().format(n.doubleValue()));
        } else if (val instanceof Date && c.getDateTimeFormat() != null) {
            DateTimeFormat dtf = c.getDateTimeFormat();
            html = SafeHtmlUtils.fromTrustedString(dtf.format((Date) val));
        } else {
            String valString = val.toString();
            if (valString != null) {
                html = SafeHtmlUtils.fromString(valString);
            }
        }
    }
    return SafeGxt.emptyToNbSpace(html);
}

From source file:com.extjs.gxt.ui.client.widget.grid.GridView.java

License:sencha.com license

protected SafeHtml renderRows(int startRow, int endRow) {
    int colCount = cm.getColumnCount();

    if (ds.getCount() < 1) {
        return SafeHtmlUtils.EMPTY_SAFE_HTML;
    }//from  w  w w .ja  v  a 2s.  co m

    List<ColumnData> cs = getColumnData();

    if (endRow == -1) {
        endRow = ds.getCount() - 1;
    }

    List<ModelData> rs = ds.getRange(startRow, endRow);
    return SafeHtmlUtils.fromTrustedString(doRender(cs, rs, startRow, colCount, grid.isStripeRows()));
}

From source file:com.extjs.gxt.ui.client.widget.grid.LiveGridView.java

License:sencha.com license

@SuppressWarnings({ "unchecked", "rawtypes" })
protected void initData(ListStore ds, ColumnModel cm) {
    if (liveStoreListener == null) {
        liveStoreListener = new StoreListener<ModelData>() {

            public void storeDataChanged(StoreEvent<ModelData> se) {
                liveStoreOffset = loader.getOffset();

                if (totalCount != loader.getTotalCount()) {
                    totalCount = loader.getTotalCount();
                    int height = totalCount * getCalculatedRowHeight();
                    // 1000000 as browser maxheight hack
                    int count = height / 1000000;
                    int h = 0;

                    StringBuilder sb = new StringBuilder();

                    if (count > 0) {
                        h = height / count;

                        for (int i = 0; i < count; i++) {
                            sb.append("<div style=\"width:");
                            sb.append(XDOM.getScrollBarWidth());
                            sb.append("px; height:");
                            sb.append(h);
                            sb.append("px;\">&nbsp;</div>");
                        }/*from w  w w . j  a va 2s . c  o  m*/
                    }
                    int diff = height - count * h;
                    if (diff != 0) {
                        sb.append("<div style=\"width:");
                        sb.append(XDOM.getScrollBarWidth());
                        sb.append("px; height:");
                        sb.append(diff);
                        sb.append("px;\"></div>");
                    }
                    liveScroller.setInnerHtml(SafeHtmlUtils.fromTrustedString(sb.toString()));

                }
                if (totalCount > 0 && viewIndexReload != -1 && !isCached(viewIndexReload)) {
                    loadLiveStore(getLiveStoreCalculatedIndex(viewIndexReload));
                } else {
                    viewIndexReload = -1;
                    ignoreScroll = true;
                    int scrollTop = liveScroller.getScrollTop();
                    liveScroller.setScrollTop(scrollTop - 1);
                    liveScroller.setScrollTop(scrollTop);
                    ignoreScroll = false;
                    updateRows(viewIndex, true);
                    isLoading = false;
                    if (isMasked) {
                        isMasked = false;
                        scroller.unmask();
                    }
                }

            }

            public void storeUpdate(StoreEvent<ModelData> se) {
                LiveGridView.this.ds.update(se.getModel());
            }
        };
    }
    if (liveStore != null) {
        liveStore.removeStoreListener(liveStoreListener);
    }
    liveStore = ds;
    super.initData(new ListStore() {
        @Override
        public boolean equals(ModelData model1, ModelData model2) {
            return LiveGridView.this.liveStore.equals(model1, model2);
        }

        @Override
        public ModelKeyProvider getKeyProvider() {
            return LiveGridView.this.liveStore.getKeyProvider();
        }

        @Override
        public Record getRecord(ModelData model) {
            return LiveGridView.this.liveStore.getRecord(model);
        }

        @Override
        public boolean hasRecord(ModelData model) {
            return LiveGridView.this.liveStore.hasRecord(model);
        }

        @Override
        public void sort(String field, SortDir sortDir) {
            LiveGridView.this.liveStore.sort(field, sortDir);
            sortInfo = liveStore.getSortState();
        }
    }, cm);

    loader = (PagingLoader) liveStore.getLoader();
    liveStore.addStoreListener(liveStoreListener);
    grid.getSelectionModel().bind(this.ds);
}

From source file:com.extjs.gxt.ui.client.widget.grid.RowEditor.java

License:sencha.com license

/**
 * Start editing of a specific row./*from  w ww . j a  v  a 2  s.co m*/
 * 
 * @param rowIndex the index of the row to edit.
 * @param doFocus true to focus the field
 */
@SuppressWarnings("unchecked")
public void startEditing(int rowIndex, boolean doFocus) {
    if (disabled) {
        return;
    }

    if (editing && isDirty()) {
        showTooltip(SafeHtmlUtils.fromTrustedString(getMessages().getDirtyText()));
        return;
    }

    if (editing && this.rowIndex != rowIndex) {
        stopEditing(true);
    }

    hideTooltip();
    M model = (M) grid.getStore().getAt(rowIndex);
    Record r = getRecord(model);
    RowEditorEvent ree = new RowEditorEvent(this, rowIndex);
    ree.setRecord(r);

    Element row = (Element) grid.getView().getRow(rowIndex);

    if (row == null || model == null || !fireEvent(Events.BeforeEdit, ree)) {
        return;
    }

    editing = true;
    record = r;

    this.rowIndex = rowIndex;

    if (!isRendered()) {
        render((Element) grid.getView().getEditorParent());
    }
    ComponentHelper.doAttach(this);

    if (!initialized) {
        initFields();
    }
    ColumnModel cm = grid.getColumnModel();

    for (int i = 0, len = cm.getColumnCount(); i < len; i++) {
        Field<Object> f = (Field<Object>) getItem(i);
        if (GXT.isAriaEnabled()) {
            if (i == 0 && saveBtn != null) {
                saveBtn.getFocusSupport().setNextId(f.getId());
            }
            f.getAriaSupport().setLabel(cm.getColumnHeader(i).asString());
        }
        String dIndex = cm.getDataIndex(i);
        CellEditor ed = cm.getEditor(i);
        Object val = ed != null ? ed.preProcessValue(record.get(dIndex)) : record.get(dIndex);

        f.updateOriginalValue(val);
        f.setValue(val);
    }
    if (cancelBtn != null) {
        cancelBtn.getFocusSupport().setPreviousId(getItem(getItemCount() - 1).getId());
    }
    if (!isVisible()) {
        show();
    }

    el().setXY(getPosition(row));
    verifyLayout(true);
    if (doFocus) {
        deferFocus(null);
    }
    lastValid = false;

    el().scrollIntoView((Element) grid.getView().getEditorParent(), false,
            new int[] { renderButtons ? btns.getHeight() : 0, 0 });
}