UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

123 lines (119 loc) 4.47 kB
import React from 'react'; import ReactDOM from 'react-dom'; import JqxTree from '../../../jqwidgets-react/react_jqxtree.js'; class App extends React.Component { render () { let data = [ { 'id': '2', 'parentid': '1', 'text': 'Hot Chocolate', 'value': '$2.3' }, { 'id': '3', 'parentid': '1', 'text': 'Peppermint Hot Chocolate', 'value': '$2.3' }, { 'id': '4', 'parentid': '1', 'text': 'Salted Caramel Hot Chocolate', 'value': '$2.3' }, { 'id': '5', 'parentid': '1', 'text': 'White Hot Chocolate', 'value': '$2.3' }, { 'text': 'Chocolate Beverage', 'id': '1', 'parentid': '-1', 'value': '$2.3' }, { 'id': '6', 'text': 'Espresso Beverage', 'parentid': '-1', 'value': '$2.3' }, { 'id': '7', 'parentid': '6', 'text': 'Caffe Americano', 'value': '$2.3' }, { 'id': '8', 'text': 'Caffe Latte', 'parentid': '6', 'value': '$2.3' }, { 'id': '9', 'text': 'Caffe Mocha', 'parentid': '6', 'value': '$2.3' }, { 'id': '10', 'text': 'Cappuccino', 'parentid': '6', 'value': '$2.3' }, { 'id': '11', 'text': 'Pumpkin Spice Latte', 'parentid': '6', 'value': '$2.3' }, { 'id': '12', 'text': 'Frappuccino', 'parentid': '-1' }, { 'id': '13', 'text': 'Caffe Vanilla Frappuccino', 'parentid': '12', 'value': '$2.3' }, { 'id': '15', 'text': '450 calories', 'parentid': '13', 'value': '$2.3' }, { 'id': '16', 'text': '16g fat', 'parentid': '13', 'value': '$2.3' }, { 'id': '17', 'text': '13g protein', 'parentid': '13', 'value': '$2.3' }, { 'id': '14', 'text': 'Caffe Vanilla Frappuccino Light', 'parentid': '12', 'value': '$2.3' }] // prepare the data let source = { datatype: 'json', datafields: [ { name: 'id' }, { name: 'parentid' }, { name: 'text' }, { name: 'value' } ], id: 'id', localdata: data }; // create data adapter. let dataAdapter = new $.jqx.dataAdapter(source); // perform Data Binding. dataAdapter.dataBind(); // get the tree items. The first parameter is the item's id. The second parameter is the parent item's id. The 'items' parameter represents // the sub items collection name. Each jqxTree item has a 'label' property, but in the JSON data, we have a 'text' field. The last parameter // specifies the mapping between the 'text' and 'label' fields. let records = dataAdapter.getRecordsHierarchy('id', 'parentid', 'items', [{ name: 'text', map: 'label'}]); //$('#jqxWidget').jqxTree({ source: records, width: '300px'}); return ( <JqxTree ref='myTree' width={300} source={records} /> ) } } ReactDOM.render(<App />, document.getElementById('app'));