List of usage examples for com.google.gwt.safehtml.shared SafeHtmlUtils fromTrustedString
public static SafeHtml fromTrustedString(String s)
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() + "'> </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;\"> </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 }); }