Flexmonster - Navigate to URL on cell click

by Uaman23

HTML

<script src="https://s3.amazonaws.com/flexmonster/2.2/flexmonster.js"></script>
<script src="https://s3.amazonaws.com/flexmonster/2.3/flexmonster.js"></script>
<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<div id="pivot-container"></div>

CSS

.link {
  text-decoration: underline;
  cursor: pointer;
  color: #fbee8f !important;
}

JavaScript

function addLinks() {
	var i = 0;
  if (pivot.getCell(i,0) == null) return; 
  while((cell = pivot.getCell(i,0) ).label != "") {  
  	if(cell.member != null && cell.member.hierarchyName == "Country"){  
    	addLinksForField(i,cell.member.hierarchyName);  
    }
    i++;
  }
}

function addLinksForField(num,uniqueName) {
  $('[data-index='+num +']').parent().not(".fm-measure-header").find("span").each(function() {
          $(this)
            .addClass("link")
            .attr("data-link",                   "http://flexmonster.com/?field="+uniqueName+"&key=" +$(this).text())
            .click(onClick);        
      });  
}

function onClick(e) {
  e.stopImmediatePropagation();
  console.log("click on", $(this).text(), $(this).attr("data-link"));
  window.open($(this).attr("data-link"));
}

var pivot = $("#pivot-container").flexmonster({
  componentFolder: "https://s3.amazonaws.com/flexmonster/2.3/",
  width: "100%",
  height: 430,
  toolbar: true,
  ready: function() {
    $(".fm-sheet-data-canvas").on("DOMSubtreeModified", addLinks);
  },
  report: {
    dataSource: {
      dataSourceType: "csv",
      filename: "data/data.csv"
    },
    slice: {
      columns: [{
        uniqueName: "Color"
      }],
      rows: [{
        uniqueName: "Country"
      }, {
        uniqueName: "Destination"
      }, {
        uniqueName: "[Measures]"
      }],
      measures: [{
        uniqueName: "Price",
      }],
    },
    options: {
      configuratorActive: false
    }
  }
});