Home › Forums › SPJS Charts for SharePoint › Chart Selection Handler
- This topic has 1 reply, 2 voices, and was last updated 9 years, 3 months ago by Alexander Bautz.
-
AuthorPosts
-
-
June 4, 2015 at 22:35 #7740
Hi Alex,
I’m hoping you can help. I have my charts set up in my CEWP (shown below) and I’m using the ‘spjs_getFilterValue’ function to return custom filter values which is shared between multiple charts using the filterAdditionalCharts’ option, and the ‘spjs_chartSelectionHandler’ function is used to select and return the data in a new window.
This works fine initially when I load the page and click on the chart data – the ‘spjs_chartSelectionHandler’ runs through and uses the URL to return the List data in a new window as expected. However, as soon as I select another value from the filter dropdown and repeat the same action (i.e. click on a chart item) the ‘spjs_chartSelectionHandler’ function seems to act like a loop which returns multiple instances of the same list data.
I’m not sure if it’s something to do with how I’ve written my code or the function itself but I would really appreciate your assistance?
<style type=”text/css”>
font-style:italic;
color:white;
border:1px silver solid;
background-color:#7DB0AF;
line-height:250px;
height:250px!important;
width:350px!important;
text-align:center;
margin:2px;
}
</style><div class=”spjs_chartPlaceholder_master”></div>
<script type=”text/javascript”>
// Set this to true to load the Google Visualization API release candidate
var loadRC = false;
// Set this to true to allow for the use of variables in the “Filter setup textarea”
var allowEval = true;
</script>
<script type=”text/javascript” src=”http://restricted.sharepoint/sites/SPJQ/jquery-1.11.3.min.js”></script>
<script type=”text/javascript” src=”https://www.google.com/jsapi”></script>
<script type=”text/javascript” src=”http://restricted.sharepoint/sites/SPJQ/spjs-charts-v4.14_min.js”></script><script type=”text/javascript”>
function spjs_getFilterValue(list,field){
var q = “<Where><IsNotNull><FieldRef Name=’ID’ /></IsNotNull></Where><OrderBy><FieldRef Name='”+field+”‘ /></OrderBy>”;
var res = spjs.charts.qItems({“listName”:list,”query”:q,”viewFields”:[field]});
var b = [];
var fObj = {};
b.push({‘f’:’All’,’v’:’*’});
$.each(res.items,function(i,item){
if(fObj[item[field]] === undefined && fObj[item[field]] == null){
fObj[item[field]] = 1;
if(item[field] == “QF”){
b.push({“f”:”QF”,”v”:”QF”,”selected”: “true”});
} else {
b.push({“f”:””+item[field]+””,”v”:””+item[field]});
}
}
});
return b;
}
var myCustomFilterOptions = spjs_getFilterValue(“List_BF”,”DT”);
</script><script type=”text/javascript”>
function spjs_chartSelectionHandler(chartID, selection, data) {
var message, item, value, x, y, z, x1, x2;if (selection.length > 0) {
item = selection[0];
message = “”;
value = “”;
switch (chartID) {
case ‘69743111-c1d0-4562-99e8-f72a85697457’:
if (item.row !== null) {
x = data.getFormattedValue(item.row, 0);
x = x.replace(” “, “%20”);
x = x.replace(“,”, “%2C”);
//console.log(x);
if (item.column !== null) {
z = data.getFormattedValue(item.row, item.column);
//console.log(z);
y = data.getColumnLabel(item.column);
//console.log(y);
}
}
if (x === undefined && y === undefined && z === undefined) {
return;
}
if (confirm(“Open filtered list?”)) {
window.open(‘http://restricted.sharepoint/***************************.aspx?&FilterField1=MOM&FilterValue1=’ + x, ”, ‘width=1000’);
return;
}
break;//case ‘b2bf592a-3c16-49dc-bae2-76d68b6e3d7a_0’:
case ‘69743111-c1d0-4562-99e8-f72a85697457_0’:
if (item.row !== null) {
x2 = data.getFormattedValue(item.row, 2);
x2 = x2.replace(” “, “%20”);
x2 = x2.replace(“,”, “%2C”);
//console.log(x2);if (x2 === undefined) {
return;
}
}
if (confirm(“Open filtered list?”)) {
window.open(‘http://restricted.sharepoint/***************************.aspx?&FilterField1=Title&FilterValue1=’ + x2, ”, ‘width=1000’);
return;
}
break;
default:
if (item.row !== null && item.column !== null) {
message = “{row:” + item.row + “,column:” + item.column + “,chart:” + chartID + “}”;
value = data.getValue(item.row, item.column);
if (message === “”) {
message = “nothing”;
}
alert(“You selected ” + message + “, the value is: ” + value);
}
//console.log(“Chart selection not configured.”);
break;
}
}
}
</script> -
September 23, 2015 at 16:43 #8546
Sorry for not replying – There was a problem with notifications from the forum.
Did you figure it out, or do you still need some guidance.
Alexander
-
-
AuthorPosts
- You must be logged in to reply to this topic.