You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GridSvgInCell.java 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.annotations.Widgetset;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractTestUI;
  5. import com.vaadin.ui.Grid;
  6. import com.vaadin.ui.renderers.HtmlRenderer;
  7. @Widgetset("com.vaadin.DefaultWidgetSet")
  8. public class GridSvgInCell extends AbstractTestUI {
  9. private static class DataObject {
  10. private String svg;
  11. public String getSvg() {
  12. return svg;
  13. }
  14. public void setSvg(String svg) {
  15. this.svg = svg;
  16. }
  17. }
  18. @Override
  19. protected void setup(VaadinRequest request) {
  20. Grid<DataObject> grid = new Grid<>();
  21. grid.addColumn(DataObject::getSvg).setCaption("SVG")
  22. .setRenderer(new HtmlRenderer(""));
  23. DataObject data = new DataObject();
  24. data.setSvg(
  25. "<svg width=\"100%\" height=\"20px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">"
  26. + "<polygon id=\"bar_background_blue\" stroke=\"gray\" fill=\"#D6D6D6\" points=\"0 0,59 0,66 7,59 14,0 14\"></polygon>"
  27. + "<rect id=\"bar_blue\" x=\"1\" y=\"1\" width=\"0px\" height=\"13\" fill=\"#7298C0\"></rect>"
  28. + "</svg>");
  29. grid.setItems(data);
  30. addComponent(grid);
  31. }
  32. }