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.

GoogleAnalytics.java 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.vaadin.demo.sampler;
  2. import com.vaadin.demo.sampler.gwt.client.ui.VGoogleAnalytics;
  3. import com.vaadin.terminal.PaintException;
  4. import com.vaadin.terminal.PaintTarget;
  5. import com.vaadin.ui.AbstractComponent;
  6. import com.vaadin.ui.ClientWidget;
  7. @SuppressWarnings("serial")
  8. @ClientWidget(VGoogleAnalytics.class)
  9. public class GoogleAnalytics extends AbstractComponent {
  10. private String trackerId;
  11. private String pageId;
  12. private String domainName;
  13. private static final String TAG = "googleanalytics";
  14. public GoogleAnalytics(String trackerId) {
  15. this.trackerId = trackerId;
  16. }
  17. public GoogleAnalytics(String trackerId, String domainName) {
  18. this(trackerId);
  19. this.domainName = domainName;
  20. }
  21. @Override
  22. public String getTag() {
  23. return TAG;
  24. }
  25. public String getTrackerId() {
  26. return trackerId;
  27. }
  28. public String getDomainName() {
  29. return domainName;
  30. }
  31. public void trackPageview(String pageId) {
  32. this.pageId = pageId;
  33. requestRepaint();
  34. }
  35. @Override
  36. public void paintContent(PaintTarget target) throws PaintException {
  37. super.paintContent(target);
  38. target.addAttribute("trackerid", trackerId);
  39. if (pageId != null) {
  40. target.addAttribute("pageid", pageId);
  41. }
  42. if (domainName != null) {
  43. target.addAttribute("domain", domainName);
  44. }
  45. }
  46. }