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 rows = pivot.getRows();
for (var i in rows) {
if (rows[i]["uniqueName"] == "Destination") {
addLinksForField(rows[i]["uniqueName"]);
}
}
}
function addLinksForField(uniqueName) {
var members = pivot.getMembers(uniqueName);
for (var j in members) {
$(".fm-row-header")
.not(".fm-measure-header")
.find("span")
.each(function() {
if ($(this).text() == members[j]["caption"]) {
$(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: "Category"
}, {
uniqueName: "[Measures]"
}],
measures: [{
uniqueName: "Price",
}],
},
options: {
configuratorActive: false
}
}
});