@@ -54,16 +54,18 @@ class Tree extends React.Component {
5454 formatted . checked = checked . indexOf ( node . value ) > - 1 ;
5555 formatted . expanded = expanded . indexOf ( node . value ) > - 1 ;
5656
57- if ( this . hasChildren ( node ) ) {
57+ if ( Array . isArray ( node . children ) && node . children . length > 0 ) {
5858 formatted . children = this . getFormattedNodes ( formatted . children ) ;
59+ } else {
60+ formatted . children = null ;
5961 }
6062
6163 return formatted ;
6264 } ) ;
6365 }
6466
6567 getCheckState ( node ) {
66- if ( this . hasChildren ( node ) === false ) {
68+ if ( node . children === null ) {
6769 return node . checked ? 1 : 0 ;
6870 }
6971
@@ -79,7 +81,7 @@ class Tree extends React.Component {
7981 }
8082
8183 setCheckState ( checked , node , isChecked ) {
82- if ( this . hasChildren ( node ) ) {
84+ if ( node . children !== null ) {
8385 // Percolate check status down to all children
8486 node . children . forEach ( ( child ) => {
8587 this . setCheckState ( checked , child , isChecked ) ;
@@ -100,7 +102,7 @@ class Tree extends React.Component {
100102
101103 isEveryChildChecked ( node ) {
102104 return node . children . every ( ( child ) => {
103- if ( this . hasChildren ( child ) ) {
105+ if ( child . children !== null ) {
104106 return this . isEveryChildChecked ( child ) ;
105107 }
106108
@@ -110,22 +112,14 @@ class Tree extends React.Component {
110112
111113 isSomeChildChecked ( node ) {
112114 return node . children . some ( ( child ) => {
113- if ( this . hasChildren ( child ) ) {
115+ if ( child . children !== null ) {
114116 return this . isSomeChildChecked ( child ) ;
115117 }
116118
117119 return child . checked ;
118120 } ) ;
119121 }
120122
121- hasChildren ( node ) {
122- if ( node . children === undefined ) {
123- return false ;
124- }
125-
126- return node . children . length > 0 ;
127- }
128-
129123 renderTreeNodes ( nodes ) {
130124 const treeNodes = nodes . map ( ( node , index ) => {
131125 const checked = this . getCheckState ( node ) ;
@@ -155,7 +149,7 @@ class Tree extends React.Component {
155149 }
156150
157151 renderChildNodes ( node ) {
158- if ( this . hasChildren ( node ) && node . expanded ) {
152+ if ( node . children !== null && node . expanded ) {
159153 return this . renderTreeNodes ( node . children ) ;
160154 }
161155
0 commit comments