33
44import etch from 'etch' ;
55import { prewalk , postwalk , prefor } from './tree.js' ;
6- import { Etch , Tip , Button , toView } from '../util/etch.js' ;
6+ import { Etch , Button , toView } from '../util/etch.js' ;
77
88function clamp ( x , min , max ) {
99 return Math . min ( Math . max ( x , min ) , max )
@@ -26,12 +26,12 @@ function dims(tree) {
2626 left += ch . width ;
2727 } ) ;
2828 // Centre align children
29- chwidth = parent . children . map ( ( { width} ) => width ) . reduce ( ( a , b ) => a + b , 0 ) ;
29+ const chwidth = parent . children . map ( ( { width} ) => width ) . reduce ( ( a , b ) => a + b , 0 ) ;
3030 parent . children . forEach ( ch => ch . left += ( parent . width - chwidth ) / 2 ) ;
3131 return parent ;
3232 } ) ;
3333 // Scale total height to 100%
34- let max = postwalk ( tree , ( { height, children} ) =>
34+ const max = postwalk ( tree , ( { height, children} ) =>
3535 Math . max ( height , ...children . map ( x => x + height ) ) ) ;
3636 prewalk ( tree , ( node ) => {
3737 node . top /= max ;
@@ -168,7 +168,7 @@ export class Pannable extends Etch {
168168 this . toolbar = this . toolbar . concat ( this . item . toolbar )
169169 }
170170
171- let style = { position :'relative' , height :'inherit' , width :'inherit' , transformOrigin : '0px 0px' }
171+ const style = { position :'relative' , height :'inherit' , width :'inherit' , transformOrigin : '0px 0px' }
172172
173173 if ( this . zoomstrategy == 'width' ) {
174174 style . transform = 'translate(' + this . left + 'px,' + this . top + 'px)'
@@ -196,11 +196,6 @@ export class Pannable extends Etch {
196196 </ div > ;
197197 }
198198
199- readAfterUpdate ( ) {
200- this . containerRect =
201- this . element . getElementsByClassName ( 'ink-pannable' ) [ 0 ] . getBoundingClientRect ( )
202- }
203-
204199 teardown ( ) {
205200 if ( this . item && this . item . teardown ) this . item . teardown ( )
206201 etch . update ( this )
@@ -214,22 +209,27 @@ export class Pannable extends Etch {
214209
215210class NodeView extends Etch {
216211 render ( ) {
217- let { height, width, top, left, onclick, onmouseover, onmouseout} = this . props ;
218- return < Clickable onclick = { onclick } > < div className = 'node' { ...{ onmouseover, onmouseout} } style = { {
219- height : 100 * height + '%' ,
220- width : 100 * width + '%' ,
221- top : 100 * top + '%' ,
222- left : 100 * left + '%'
223- } } >
224- < div > < div > </ div > </ div >
225- </ div > </ Clickable > ;
212+ const { height, width, top, left, onclick, onmouseover, onmouseout } = this . props ;
213+ return < Clickable onclick = { onclick } >
214+ < div className = 'node' { ...{ onmouseover, onmouseout} } style = { {
215+ height : 100 * height + '%' ,
216+ width : 100 * width + '%' ,
217+ top : 100 * top + '%' ,
218+ left : 100 * left + '%'
219+ } } >
220+ < div >
221+ < div >
222+ </ div >
223+ </ div >
224+ </ div >
225+ </ Clickable > ;
226226 }
227227}
228228
229229export default class Canopy extends Etch {
230- update ( { data} ) { }
230+ update ( { data } ) { }
231231 render ( ) {
232- let nodes = [ ] ;
232+ const nodes = [ ] ;
233233 prefor ( dims ( this . props . data ) , node => nodes . push ( < NodeView { ...node } /> ) ) ;
234234 return < div className = "ink-canopy" >
235235 { nodes }
0 commit comments