jqwidgets-scripts-custom
Version:
jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.
72 lines (68 loc) • 3.22 kB
JavaScript
import React from 'react';
import ReactDOM from 'react-dom';
import JqxTreeMap from '../../../jqwidgets-react/react_jqxtreemap.js';
class App extends React.Component {
render () {
let source = {
datatype: "tab",
datafields: [
{ name: 'Year' },
{ name: 'HPI' },
{ name: 'BuildCost' },
{ name: 'Population' },
{ name: 'Rate' }
],
url: '../sampledata/homeprices.txt'
};
// create data adapter.
let dataAdapter = new $.jqx.dataAdapter(source, { async: false, autoBind: true, loadError: (xhr, status, error) => { alert('Error loading "' + source.url + '" : ' + error); } });
let renderCallbacks =
{
'*': (element, data) => {
let content = '<div><div style="font-weight: bold; font-family: verdana; font-size: 13px;">Year: ' + data.record.Year + '</div>';
content += '<div style=" font-family: verdana; font-size: 12px;">HPI: ' + data.record.HPI + '</div>';
content += '<div style=" font-family: verdana; font-size: 12px;">Build Cost: ' + data.record.BuildCost + '</div>';
content += '<div style=" font-family: verdana; font-size: 12px;">Population: ' + data.record.Population + '</div>';
content += '<div style=" font-family: verdana; font-size: 12px;">Interest Rate: ' + data.record.Rate + '</div>';
content += '</div>';
element.jqxTooltip({
content: content,
position: 'mouse',
autoHideDelay: 6000,
theme: theme
});
}
};
let colorRanges = [
{ min: 0.02, max: 0.03, color: '#ff0300' },
{ min: 0.03, max: 0.04, color: '#fe2e00' },
{ min: 0.04, max: 0.05, color: '#fe3900' },
{ min: 0.05, max: 0.06, color: '#ff5400' },
{ min: 0.06, max: 0.07, color: '#fe7500' },
{ min: 0.07, max: 0.08, color: '#fe8200' },
{ min: 0.08, max: 0.09, color: '#ffed00' },
{ min: 0.09, max: 0.1, color: '#b8db00' },
{ min: 0.1, max: 0.11, color: '#7fbf00' },
{ min: 0.11, max: 0.12, color: '#50a600' },
{ min: 0.12, max: 0.15, color: '#008000' }
];
return (
<div>
<div>
<h3>U.S. Historical Home Prices (1950-2011)</h3>
</div>
<JqxTreeMap
width={850} height={500}
source={dataAdapter}
displayMember={'Year'}
valueMember={'Rate'}
colorMode={'rangeColors'}
colorRanges={colorRanges}
renderCallbacks={renderCallbacks}
legendLabel={'Interest Rate'}
/>
</div>
)
}
}
ReactDOM.render(<App />, document.getElementById('app'));