Skip to content

Commit

Permalink
Fixed for Ajax or asset input
Browse files Browse the repository at this point in the history
  • Loading branch information
adrixp committed Nov 2, 2019
1 parent b4dc182 commit 345e328
Show file tree
Hide file tree
Showing 8 changed files with 170 additions and 53 deletions.
56 changes: 52 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Make 3D Charts with this component based on [A-Frame](https://aframe.io).
| Property | Description | Default Value |
| -------- | ----------- | ------------- |
| type | Chart type. Currently we have bubble, pie, doughnut, bar, totem and cylinder charts. <br /><br />*Totem: is used to change dynamically data charts | bubble |
| dataPoints | Path to JSON input data | ../data/data.json | |
| dataPoints | Path to JSON input file, asset or array of JSON data | ../data/data.json | |
| axis_position | Set the axis position | {x:0, y:0, z:0} |
| axis_visible | If false, axis will be hidden | true |
| axis_color | Set the axis color | red |
Expand All @@ -33,11 +33,11 @@ Make 3D Charts with this component based on [A-Frame](https://aframe.io).
| show_legend_position | Set the legend position. Only works if show legend info property is true | {x:0, y:0, z:0} |
| show_legend_rotation | Set the legend rotation. Only works if show legend info property is true | {x:0, y:0, z:0} |
| show_legend_title | Title appearing in legend | Legend |
| entity_id_list | Comma separated list of a-entity ID. Only used in totem chart type | '' |
| dataPoints_list | Comma separated list of different URL dataPoint. Only used in totem chart type | '' |
| entity_id_list | Comma separated list of a-entity ID. Only used in totem chart type | 'barId,pieId' |
| dataPoints_list | JSON with name and data points. Only used in totem chart type | '{data1: ../data/data.json, data2: #asset1, data3: [{"x": 1, "y": 8, "z": 0, "size": 1, "color": "#ff0000"}]}' |

### JSON File
We need this file which contains the points in order to generate the chart. The path of this file must be included in dataPoint property.
File which contains the points in order to generate the chart. The path of this file must be included in dataPoint property.

Example JSON file:

Expand Down Expand Up @@ -86,3 +86,51 @@ Then require and use.
require('aframe');
require('aframe-charts-component');
```

### Extra Inputs

-Ajax:
```html
<head>
<title>My A-Frame Scene</title>
<script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-charts-component/dist/aframe-charts-component.min.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>

<body>
<a-scene>
<a-entity id="myChart"></a-entity>
</a-scene>
</body>
```

```JavaScript
$.get("/examples/data/data.json", function( data ) {
let myChart = document.getElementById("myChart");
myChart.setAttribute('charts', {type: "bar", dataPoints: data});
});
```

-Asset:
```html
<head>
<title>My A-Frame Scene</title>
<script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-charts-component/dist/aframe-charts-component.min.js"></script>
</head>

<body>
<a-scene>
<a-asset>
<a-asset-item id="data" src='[{"x": 1, "y": 8, "z": 0, "size": 1, "color": "#ff0000"},
{"x": -2, "y": 3, "z": 1, "size": 1.5, "color": "#00ff00"},
{"x": -1, "y": 3, "z": 2, "size": 1, "color": "#0000ff"},
{"x": 2, "y": 7, "z": 7, "size": 1.5, "color": "#0000ff"},
{"x": 1, "y": 6, "z": 3, "size": 1, "color": "#4CC3D9"}]'>
</a-asset-item>
</a-asset>
<a-entity charts="type: bar; dataPoints: #data; axis_length: 12"></a-entity>
</a-scene>
</body>
```
64 changes: 64 additions & 0 deletions examples/dataLoadChart/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>A-Frame A-Charts Component - Bar</title>
<meta name="description" content="Bar example for A-Charts component."/>
<script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
<script src="../../dist/aframe-charts-component.min.js"></script>
<style>
.home{
color: white;
font-weight: bold;
left: 20px;
top: 60px;
position: fixed;
z-index: 9997;
}
</style>
</head>
<body>

<a class="home" href="../../">Home</a>
<a-scene background="color: grey" cursor="rayOrigin:mouse"> <!-- Cursor mouse clickable. -->
<a-light type="point" intensity="1" position="-2 10 10"></a-light>

<a-asset>
<a-asset-item id="data" src='../data/dataPositive.json'></a-asset-item>
<a-asset-item id="dataSmall" src='../data/dataSmall.json'></a-asset-item>
</a-asset>

<a-entity id="barId" charts="type: bar; dataPoints: #data" position="-20 22 14" rotation="0 30 -10"></a-entity>

<a-light type="point" intensity="0.7" position="1 30 30"></a-light>

<a-entity id="currentChart" position="1 15 10"></a-entity>


<a-entity movement-controls="fly: true" position="0 30 30" rotation="-24 15 0">
<a-camera position="4.2 -1 1.5" rotation="0 -1 0">
</a-camera>
</a-entity>
</a-scene>

<!-- GitHub Corner. -->
<a href="https://github.com/adrixp/aframe-charts-component" class="github-corner">
<svg width="80" height="80" viewBox="0 0 250 250" style="fill:#222; color:#fff; position: absolute; top: 0; border: 0; right: 0;">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path>
</svg>
</a>

<style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
<!-- End GitHub Corner. -->

<script type="text/javascript">
let myChart = document.getElementById("currentChart");
var newPoints1 = [{"x": 1, "y": 8, "z": 0, "size": 1, "color": "#ff0000"}];
var newPoints2 = "#dataSmall";
var newPoints3 = "../data/dataSmall.json";

myChart.setAttribute('charts', {type: "totem", entity_id_list: "barId", dataPoints_list: {newPoints1: newPoints1, newPoints2: newPoints2, newPoints3: newPoints3}});

</script>
</body>
</html>
15 changes: 8 additions & 7 deletions examples/museum/code.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,17 @@ <h1>Dynamic Museum Code</h1>
&lt;a-scene background="color: grey" cursor="rayOrigin:mouse"&gt; &lt;!-- Cursor mouse clickable. --&gt;
&lt;a-light type="point" intensity="1" position="-2 10 10"&gt;&lt;/a-light&gt;

&lt;a-entity id="barId" charts="type: bar; dataPoints: ../data/dataPositive.json" position="-50 0 10" rotation="0 30 -10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="bubbleId" charts="type: bubble; dataPoints: ../data/dataPositive.json" position="-25 15 0" rotation="0 20 -10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="pieId" charts="type: pie; dataPoints: ../data/dataPositive.json; pie_radius: 5" position="-5 0 -20"&gt;&lt;/a-entity&gt;
&lt;a-entity id="cylinderId" charts="type: cylinder; dataPoints: ../data/dataPositive.json" position="12 17 -5" rotation="0 -20 10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="pieDoughnutId" charts="type: pie; dataPoints: ../data/dataPositive.json; pie_radius: 5; pie_doughnut: true" position="35 0 -10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="barId" charts="type: bar; dataPoints: ../data/dataPositive.json" position="-50 0 10" rotation="0 30 -10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="bubbleId" charts="type: bubble; dataPoints: ../data/dataPositive.json" position="-25 15 0" rotation="0 20 -10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="pieId" charts="type: pie; dataPoints: ../data/dataPositive.json; pie_radius: 5" position="-5 0 -20"&gt;&lt;/a-entity&gt;
&lt;a-entity id="cylinderId" charts="type: cylinder; dataPoints: ../data/dataPositive.json" position="12 17 -5" rotation="0 -20 10"&gt;&lt;/a-entity&gt;
&lt;a-entity id="pieDoughnutId" charts="type: pie; dataPoints: ../data/dataPositive.json; pie_radius: 5; pie_doughnut: true" position="35 0 -10"&gt;&lt;/a-entity&gt;

&lt;a-light type="point" intensity="0.7" position="1 30 30"&gt;&lt;/a-light&gt;

&lt;a-entity charts="type: totem; entity_id_list: barId,bubbleId,pieId,cylinderId,pieDoughnutId;
dataPoints_list: ../data/dataPositive.json,../data/data.json,../data/dataSmall.json" position="1 15 10"&gt;&lt;/a-entity&gt;
&lt;a-entity position="1 15 10" charts='type: totem; entity_id_list: barId,bubbleId,pieId,cylinderId,pieDoughnutId;
dataPoints_list: {"dataPositive.json": "../data/dataPositive.json", "data.json": "../data/data.json","dataSmall.json": "../data/dataSmall.json"}'&gt;
&lt;/a-entity&gt;


&lt;a-entity movement-controls="fly: true" position="0 30 30" rotation="-24 15 0"&gt; &lt;!-- Camera fly movement. --&gt;
Expand Down
4 changes: 2 additions & 2 deletions examples/museum/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
<a-entity id="pieDoughnutId" charts="type: pie; dataPoints: ../data/dataPositive.json; pie_radius: 5; pie_doughnut: true" position="35 0 -10"></a-entity>

<a-light type="point" intensity="0.7" position="1 30 30"></a-light>
<a-entity charts="type: totem; entity_id_list: barId,bubbleId,pieId,cylinderId,pieDoughnutId;
dataPoints_list: ../data/dataPositive.json,../data/data.json,../data/dataSmall.json" position="1 15 10"></a-entity>
<a-entity charts='type: totem; entity_id_list: barId,bubbleId,pieId,cylinderId,pieDoughnutId;
dataPoints_list: {"dataPositive.json": "../data/dataPositive.json", "data.json": "../data/data.json","dataSmall.json": "../data/dataSmall.json"}' position="1 15 10"></a-entity>


<a-entity movement-controls="fly: true" position="0 30 30" rotation="-24 15 0"> <!-- Camera fly movement. -->
Expand Down
5 changes: 3 additions & 2 deletions examples/totem/code.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,9 @@ <h1>Totem Code</h1>

&lt;a-light type="point" intensity="0.7" position="1 30 30"&gt;&lt;/a-light&gt;

&lt;a-entity charts="type: totem; entity_id_list: barId;
dataPoints_list: ../data/dataPositive.json,../data/data.json,../data/dataSmall.json" position="1 15 10"&gt;&lt;/a-entity&gt;
&lt;a-entity charts='type: totem; entity_id_list: barId;
dataPoints_list: {"dataPositive.json": "../data/dataPositive.json", "data.json": "../data/data.json", "dataSmall.json": "../data/dataSmall.json"}'
position="1 15 10"&gt;&lt;/a-entity&gt;


&lt;a-entity movement-controls="fly: true" position="0 30 30" rotation="-24 15 0"&gt;
Expand Down
3 changes: 1 addition & 2 deletions examples/totem/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
<a-entity id="barId" charts="type: bar; dataPoints: ../data/dataPositive.json" position="-20 22 14" rotation="0 30 -10"></a-entity>

<a-light type="point" intensity="0.7" position="1 30 30"></a-light>
<a-entity charts="type: totem; entity_id_list: barId;
dataPoints_list: ../data/dataPositive.json,../data/data.json,../data/dataSmall.json" position="1 15 10"></a-entity>
<a-entity charts='type: totem; entity_id_list: barId; dataPoints_list: {"dataPositive.json": "../data/dataPositive.json", "data.json": "../data/data.json", "dataSmall.json": "../data/dataSmall.json"}' position="1 15 10"></a-entity>


<a-entity movement-controls="fly: true" position="0 30 30" rotation="-24 15 0">
Expand Down
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ <h3>Doughnut Chart</h3>
<h3>Totem</h3>
<p>This is the totem example.</p>
<p>We can use it in order to change data dynamically</p>
<pre><code class="html">&lt;a-entity position="1 15 10" charts="type: totem; entity_id_list: barId;
dataPoints_list: ../data/dataPositive.json,../data/data.json,../data/dataSmall.json"&gt;
<pre><code class="html">&lt;a-entity position="1 15 10" charts='type: totem; entity_id_list: barId;
dataPoints_list: {"dataPositive.json": "../data/dataPositive.json", "data.json": "../data/data.json", "dataSmall.json": "../data/dataSmall.json"}'&gt;
&lt;/a-entity&gt;</code></pre>
<a class="link" href="examples/totem/code.html">Full detailed Code</a>
</li>
Expand Down
Loading

0 comments on commit 345e328

Please sign in to comment.