<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://copsupport.coplanner.com/help10_en/index.php?action=history&amp;feed=atom&amp;title=WebApps%3AJavaScript_diagram</id>
	<title>WebApps:JavaScript diagram - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://copsupport.coplanner.com/help10_en/index.php?action=history&amp;feed=atom&amp;title=WebApps%3AJavaScript_diagram"/>
	<link rel="alternate" type="text/html" href="https://copsupport.coplanner.com/help10_en/index.php?title=WebApps:JavaScript_diagram&amp;action=history"/>
	<updated>2026-11-08T05:44:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://copsupport.coplanner.com/help10_en/index.php?title=WebApps:JavaScript_diagram&amp;diff=16128&amp;oldid=prev</id>
		<title>Admin at 09:25, 6 July 2020</title>
		<link rel="alternate" type="text/html" href="https://copsupport.coplanner.com/help10_en/index.php?title=WebApps:JavaScript_diagram&amp;diff=16128&amp;oldid=prev"/>
		<updated>2020-07-06T09:25:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:25, 6 July 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l338&quot;&gt;Line 338:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 338:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__NOEDITSECTION__&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__NOEDITSECTION__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:WebApps|JavaScript &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Diagramm&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:WebApps|JavaScript &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;diagramm&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[de:WebApps:JavaScript &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Diagram&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[de:WebApps:JavaScript &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Diagramm&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://copsupport.coplanner.com/help10_en/index.php?title=WebApps:JavaScript_diagram&amp;diff=16127&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;__TOC__   =System requirements=  The requirements can be found here.  =Invocation= @Session_WebAppUrl@/diagram/?charttype=javascript&amp;diagramid=&lt;Diagra...&quot;</title>
		<link rel="alternate" type="text/html" href="https://copsupport.coplanner.com/help10_en/index.php?title=WebApps:JavaScript_diagram&amp;diff=16127&amp;oldid=prev"/>
		<updated>2020-07-06T09:25:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__TOC__   =System requirements=  The requirements can be found &lt;a href=&quot;/help10_en/index.php/WebApps:Requirements&quot; title=&quot;WebApps:Requirements&quot;&gt;here&lt;/a&gt;.  =Invocation= @Session_WebAppUrl@/diagram/?charttype=javascript&amp;amp;diagramid=&amp;lt;Diagra...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=System requirements=&lt;br /&gt;
&lt;br /&gt;
The requirements can be found [[WebApps:Requirements|here]].&lt;br /&gt;
&lt;br /&gt;
=Invocation=&lt;br /&gt;
@Session_WebAppUrl@/diagram/?charttype=javascript&amp;amp;diagramid=&amp;lt;Diagrammname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://servername:4444/coplanner/diagram/?charttype=javascript&amp;amp;diagramId=Mein erstes JS Diagramm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extended Invocation===&lt;br /&gt;
&lt;br /&gt;
:* hideSessionHeader: Definiert, ob der Session-Header angezeigt werden soll oder nicht (true blendet Session-Header aus). Der Default beim Öffnen ist false.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Invocation to create a JavaScript diagram=&lt;br /&gt;
To create a JavaScript diagram you must use the BI-Center in Windowsclient.&lt;br /&gt;
&lt;br /&gt;
{| {{Bausteindesign1}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: darkblue;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; &amp;amp;nbsp;Works only in PowerUser mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Diagram designer=&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
You can define up to four sources for your JavaScript diagram.&lt;br /&gt;
&lt;br /&gt;
As source you can use already existing Input masks.&lt;br /&gt;
&lt;br /&gt;
==Filter==&lt;br /&gt;
With + you can add filters and with x you can remove them.&lt;br /&gt;
&lt;br /&gt;
:*Dimension: chose the dimension which should be used&lt;br /&gt;
:*Caption: caption for the filter in the diagram&lt;br /&gt;
:*Source 1 - 4: defines the assigment from the filter to the filter in the datasource&lt;br /&gt;
:*Defaultvalue: the value which is used for the filter, when the diagram opens&lt;br /&gt;
&lt;br /&gt;
==JavaScript==&lt;br /&gt;
A new JavaScript chart is provided with a sample code. This sample code inlcudes hard-coded data, so you can watch it directly. Examples how to make the diagram generic are included but are commented out. &lt;br /&gt;
&lt;br /&gt;
On https://plot.ly/javascript/ you can find code examples and there is also a chart generator make it easier to create a diagram.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
When creating a JavaScript chart the following sample code is provided.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Further information and samples can be found at:&lt;br /&gt;
// https://plot.ly/javascript/&lt;br /&gt;
// https://copsupport.coplanner.com/helpCOP10/index.php/WebApps:JavaScript_Diagramm&lt;br /&gt;
&lt;br /&gt;
// var inputMaskData = dataSources[&amp;quot;NAME_OF_INPUTMASK&amp;quot;];&lt;br /&gt;
// var dataMeasure1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;MEASURE_NAME_1&amp;quot;] ? inputMaskData[&amp;quot;MEASURE_NAME_1&amp;quot;].values : [];&lt;br /&gt;
// var dataAxis1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;DIMENSION_NAME_1&amp;quot;] ? inputMaskData[&amp;quot;DIMENSION_NAME_1&amp;quot;].values : [];&lt;br /&gt;
&lt;br /&gt;
// Plotly data object (required):&lt;br /&gt;
var data = [&lt;br /&gt;
    {&lt;br /&gt;
        type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
        x: [&amp;#039;giraffes&amp;#039;, &amp;#039;orangutans&amp;#039;, &amp;#039;monkeys&amp;#039;],&lt;br /&gt;
        y: [20, 14, 23]&lt;br /&gt;
        // x: dataAxis1,&lt;br /&gt;
        // y: dataMeasure1&lt;br /&gt;
    }&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Plotly layout object (optional):&lt;br /&gt;
var layout = {&lt;br /&gt;
    separators: &amp;#039;,.&amp;#039;,&lt;br /&gt;
    showlegend: false,&lt;br /&gt;
    xaxis: { type: &amp;quot;category&amp;quot; }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Return processed data to CoPlanner:&lt;br /&gt;
return {&lt;br /&gt;
    data,&lt;br /&gt;
    layout&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you open the diagram without a change, you see the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[image:JS_Chart_Original.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That chart only has hard-coded data. This example shows, which changes have to be done, that you get the data from CoPlanner.&lt;br /&gt;
&lt;br /&gt;
====Define data====&lt;br /&gt;
&lt;br /&gt;
At first there must exist the accordingly table in CoPlanner. This table have to be used in a CoPlanner Cube which is used in an input mask.&lt;br /&gt;
&lt;br /&gt;
The input mask in that example looks like that and has the name MAX_JS_Chart:&lt;br /&gt;
&lt;br /&gt;
[[image:JS_Chart_Quelle1.PNG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chose MAX_JS_Chart for Source 1. We want to use show the measure &amp;quot;Wert&amp;quot; and the dimension &amp;quot;Animals&amp;quot; in the diagram.&lt;br /&gt;
&lt;br /&gt;
In the sample code we comment the following rows in (remove the //) and adapt them, so that we can use variables to use them.&lt;br /&gt;
&lt;br /&gt;
Change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// var inputMaskData = dataSources[&amp;quot;NAME_OF_INPUTMASK&amp;quot;];&lt;br /&gt;
// var dataMeasure1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;MEASURE_NAME_1&amp;quot;] ? inputMaskData[&amp;quot;MEASURE_NAME_1&amp;quot;].values : [];&lt;br /&gt;
// var dataAxis1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;DIMENSION_NAME_1&amp;quot;] ? inputMaskData[&amp;quot;DIMENSION_NAME_1&amp;quot;].values : [];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var inputMaskData = dataSources[&amp;quot;MAX_JS_Chart&amp;quot;];&lt;br /&gt;
var dataMeasure1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;Wert&amp;quot;] ? inputMaskData[&amp;quot;Wert&amp;quot;].values : [];&lt;br /&gt;
var dataDimension1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;Animals&amp;quot;] ? inputMaskData[&amp;quot;Animals&amp;quot;].values : [];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we change the part, where we define the data and use the variables from above.&lt;br /&gt;
Change:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Plotly data object (required):&lt;br /&gt;
var data = [&lt;br /&gt;
    {&lt;br /&gt;
        type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
        x: [&amp;#039;giraffes&amp;#039;, &amp;#039;orangutans&amp;#039;, &amp;#039;monkeys&amp;#039;],&lt;br /&gt;
        y: [20, 14, 23]&lt;br /&gt;
        // x: dataAxis1,&lt;br /&gt;
        // y: dataMeasure1&lt;br /&gt;
    }&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Plotly data object (required):&lt;br /&gt;
var data = [&lt;br /&gt;
    {&lt;br /&gt;
        type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
        // x: [&amp;#039;giraffes&amp;#039;, &amp;#039;orangutans&amp;#039;, &amp;#039;monkeys&amp;#039;],&lt;br /&gt;
        // y: [20, 14, 23]&lt;br /&gt;
        x: dataAxis1,&lt;br /&gt;
        y: dataMeasure1&lt;br /&gt;
    }&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When we now save the diagram and take a look on it, we se the diagram based on our data in CoPlanner.&lt;br /&gt;
&lt;br /&gt;
[[image:JS_Chart_Angepasst.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Add filters====&lt;br /&gt;
&lt;br /&gt;
If we want the data to be filtered by the dimension &amp;quot;Zeit&amp;quot;, we can add it and link it with Source 1.&lt;br /&gt;
&lt;br /&gt;
====Add a drillthrough====&lt;br /&gt;
&lt;br /&gt;
We now can add an additional drillthough.&lt;br /&gt;
&lt;br /&gt;
Therefore the following steps are necessary:&lt;br /&gt;
:* Expand the cube: we need a calculated measure with the datatype link, which includes the link and the filters.&lt;br /&gt;
&lt;br /&gt;
E.g.: @Session_WebAppUrl@/PivotTable/?tableform=ZS_JS_Chart&amp;amp;contextFilters=Animals mu Attribute(Animals.ID) and Zeit mu Attribute(Zeit.ID)&lt;br /&gt;
&lt;br /&gt;
With this link we open the row view with the name ZS_JS_Chart and also the filter/axis element for the dimension Animals und Zeit will be delivered. &lt;br /&gt;
&lt;br /&gt;
:* Expand the input mask: the JavaScript Chart needs one or more input masks as base. We need to expand the input mask with the link measure, that we can use it in the diagram.&lt;br /&gt;
&lt;br /&gt;
:* Expand the JavaScript Code:&lt;br /&gt;
We additional define our new measure Link_Detail in the first section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var dataLink1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;Link_Detail&amp;quot;] ? inputMaskData[&amp;quot;Link_Detail&amp;quot;].values : [];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var data = [&lt;br /&gt;
  {&lt;br /&gt;
    type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
    x: dataDimension1,&lt;br /&gt;
    y: dataMeasure1&lt;br /&gt;
    // x: [&amp;#039;giraffes&amp;#039;, &amp;#039;orangutans&amp;#039;, &amp;#039;monkeys&amp;#039;],&lt;br /&gt;
    //y: [20, 14, 23]&lt;br /&gt;
  }&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var data = [&lt;br /&gt;
  {&lt;br /&gt;
    type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
    x: dataDimension1,&lt;br /&gt;
    y: dataMeasure1,&lt;br /&gt;
    link: dataLink1&lt;br /&gt;
&lt;br /&gt;
    // x: [&amp;#039;giraffes&amp;#039;, &amp;#039;orangutans&amp;#039;, &amp;#039;monkeys&amp;#039;],&lt;br /&gt;
    //y: [20, 14, 23]&lt;br /&gt;
  }&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional we have to add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function onPlotClick(data) {&lt;br /&gt;
   if (data.points.length &amp;gt; 0) {&lt;br /&gt;
     var index = data.points[0].pointNumber;&lt;br /&gt;
     var clickData = data.points[0].data.link[index];&lt;br /&gt;
   window.open(clickData);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The final code after all these changes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
var inputMaskData = dataSources[&amp;quot;MAX_JS_Chart&amp;quot;];&lt;br /&gt;
var dataMeasure1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;Wert&amp;quot;] ? inputMaskData[&amp;quot;Wert&amp;quot;].values : [];&lt;br /&gt;
var dataDimension1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;Animals&amp;quot;] ? inputMaskData[&amp;quot;Animals&amp;quot;].values : [];&lt;br /&gt;
var dataLink1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;quot;Link_Detail&amp;quot;] ? inputMaskData[&amp;quot;Link_Detail&amp;quot;].values : [];&lt;br /&gt;
&lt;br /&gt;
// Plotly data object (required):&lt;br /&gt;
var data = [&lt;br /&gt;
  {&lt;br /&gt;
    type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
    x: dataDimension1,&lt;br /&gt;
    y: dataMeasure1,&lt;br /&gt;
    link: dataLink1&lt;br /&gt;
    // x: [&amp;#039;giraffes&amp;#039;, &amp;#039;orangutans&amp;#039;, &amp;#039;monkeys&amp;#039;],&lt;br /&gt;
    //y: [20, 14, 23]                &lt;br /&gt;
  }&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Plotly layout object (optional):&lt;br /&gt;
var layout = {&lt;br /&gt;
  separators: &amp;#039;,.&amp;#039;,&lt;br /&gt;
  showlegend: false,&lt;br /&gt;
  xaxis: { type: &amp;quot;category&amp;quot; }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Plotly data click event (optional):&lt;br /&gt;
function onPlotClick(data) {&lt;br /&gt;
   if (data.points.length &amp;gt; 0) {&lt;br /&gt;
     var index = data.points[0].pointNumber;&lt;br /&gt;
     var clickData = data.points[0].data.link[index];&lt;br /&gt;
   window.open(clickData);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Return processed data to CoPlanner:&lt;br /&gt;
return {&lt;br /&gt;
  data,&lt;br /&gt;
  layout,  &lt;br /&gt;
onPlotClick&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====OUT-Filters====&lt;br /&gt;
&lt;br /&gt;
You only can use OUT-Filters or drill through, because both of them are triggered by the same action.&lt;br /&gt;
&lt;br /&gt;
If you haven&amp;#039;t done any changes to the axes, you can define the OUT-filter out of the box by activate it in the dashboard in the filter section.&lt;br /&gt;
&lt;br /&gt;
If you have done changes to the axes, you have to provide the &amp;quot;outFilters&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Therefore we need the element IDs. They can be generated by the following code and they have to be changed the same way as the axes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var elementIdData = dataSourcesElementIds[&amp;#039;MAX_JS_Chart&amp;#039;];&lt;br /&gt;
var elementIdsDimension1 = elementIdData &amp;amp;&amp;amp; elementIdData[&amp;#039;Animals&amp;#039;] ? elementIdData[&amp;#039;Animals&amp;#039;].values : [];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The part return have to be expanded for the OUT-Filter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
  data,&lt;br /&gt;
  layout,&lt;br /&gt;
  outFilters: {&lt;br /&gt;
    &amp;#039;Animals&amp;#039;: elementIdsDimension1 // Return element ids in the order they are used in&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a little example which reverts the order of the axis and provides the OUT-filter for the dashboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Sample for customized out filters&lt;br /&gt;
&lt;br /&gt;
var inputMaskData = dataSources[&amp;#039;MAX_JS_Chart&amp;#039;];&lt;br /&gt;
var dataMeasure1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;#039;Wert&amp;#039;] ? inputMaskData[&amp;#039;Wert&amp;#039;].values : [];&lt;br /&gt;
var dataDimension1 = inputMaskData &amp;amp;&amp;amp; inputMaskData[&amp;#039;Animals&amp;#039;] ? inputMaskData[&amp;#039;Animals&amp;#039;].values : [];&lt;br /&gt;
&lt;br /&gt;
var elementIdData = dataSourcesElementIds[&amp;#039;MAX_JS_Chart&amp;#039;];&lt;br /&gt;
var elementIdsDimension1 = elementIdData &amp;amp;&amp;amp; elementIdData[&amp;#039;Animals&amp;#039;] ? elementIdData[&amp;#039;Animals&amp;#039;].values : [];&lt;br /&gt;
&lt;br /&gt;
dataDimension1 = dataDimension1.slice().reverse(); // Reverse order of elements&lt;br /&gt;
elementIdsDimension1 = elementIdsDimension1.slice().reverse(); // Reverse order of element ids&lt;br /&gt;
&lt;br /&gt;
var data = [&lt;br /&gt;
  {&lt;br /&gt;
    type: &amp;#039;bar&amp;#039;,&lt;br /&gt;
    x: dataDimension1,&lt;br /&gt;
    y: dataMeasure1&lt;br /&gt;
  }&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var layout = {&lt;br /&gt;
  separators: &amp;#039;,.&amp;#039;,&lt;br /&gt;
  showlegend: false&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
  data,&lt;br /&gt;
  layout,&lt;br /&gt;
  outFilters: {&lt;br /&gt;
    &amp;#039;Animals&amp;#039;: elementIdsDimension1 // Return element ids in the order they are used in&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
[[Category:WebApps|JavaScript Diagramm]]&lt;br /&gt;
[[de:WebApps:JavaScript Diagram]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>