Skip to content

Commit 9a86798

Browse files
author
nadavl
committed
Seperated components into modules
1 parent 3eaf3de commit 9a86798

File tree

4 files changed

+51
-77
lines changed

4 files changed

+51
-77
lines changed

src/app/pan.tsx

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import * as React from 'react';
2+
3+
export default class Pan extends React.Component<{}, {}> {
4+
render () {
5+
return (
6+
<div className="cy-panzoom-panner">
7+
<div className="cy-panzoom-panner-handle"/>
8+
<div className="cy-panzoom-pan-up cy-panzoom-pan-button"/>
9+
<div className="cy-panzoom-pan-down cy-panzoom-pan-button"/>
10+
<div className="cy-panzoom-pan-left cy-panzoom-pan-button"/>
11+
<div className="cy-panzoom-pan-right cy-panzoom-pan-button"/>
12+
<div className="cy-panzoom-pan-indicator" style={{display: 'none'}}/>
13+
</div>
14+
)
15+
}
16+
}

src/app/slider.tsx

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import * as React from 'react';
2+
3+
export default class Slider extends React.Component<{}, {}> {
4+
render () {
5+
return (
6+
<div>
7+
<div className="cy-panzoom-reset cy-panzoom-zoom-button"><span className="icon fa fa-expand"/></div>
8+
<div className="cy-panzoom-zoom-in cy-panzoom-zoom-button"><span className="icon fa fa-plus"/></div>
9+
<div className="cy-panzoom-zoom-out cy-panzoom-zoom-button"><span className="icon fa fa-minus"/></div>
10+
<div className="cy-panzoom-slider">
11+
<div className="cy-panzoom-slider-background"/>
12+
<div className="cy-panzoom-slider-handle" style={{top: '32.2203px'}}><span className="icon fa fa-minus"/>
13+
</div>
14+
<div className="cy-panzoom-no-zoom-tick" style={{top: 43}}/>
15+
</div>
16+
</div>
17+
)
18+
}
19+
}

src/app/toolbar.tsx

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import * as React from 'react';
2+
import Pan from './pan';
3+
import Slider from './slider';
4+
5+
export default class Toolbar extends React.Component<{}, {}> {
6+
render () {
7+
return (
8+
<div className="cy-panzoom" style={{position: 'absolute'}}>
9+
<Pan/>
10+
<Slider/>
11+
</div>
12+
);
13+
}
14+
}

src/index.tsx

+2-77
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,5 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3-
import {observable} from 'mobx';
4-
import {observer} from 'mobx-react';
5-
import DevTools from 'mobx-react-devtools';
3+
import Toolbar from './app/toolbar';
64

7-
class AppState {
8-
@observable timer = 0;
9-
10-
constructor () {
11-
setInterval(() => {
12-
this.timer += 1;
13-
}, 1000);
14-
}
15-
16-
resetTimer () {
17-
this.timer = 0;
18-
}
19-
}
20-
21-
@observer
22-
class TimerView extends React.Component<{appState: AppState}, {}> {
23-
render () {
24-
return null;
25-
}
26-
27-
onReset = () => {
28-
this.props.appState.resetTimer();
29-
}
30-
}
31-
32-
class Toolbar extends React.Component<{}, {}> {
33-
render () {
34-
return (
35-
<div className="cy-panzoom" style={{position: 'absolute'}}>
36-
<Pan/>
37-
<Slider/>
38-
</div>
39-
);
40-
}
41-
}
42-
43-
class Slider extends React.Component<{}, {}> {
44-
render () {
45-
return (
46-
<div>
47-
<div className="cy-panzoom-reset cy-panzoom-zoom-button"><span className="icon fa fa-expand"/></div>
48-
<div className="cy-panzoom-zoom-in cy-panzoom-zoom-button"><span className="icon fa fa-plus"/></div>
49-
<div className="cy-panzoom-zoom-out cy-panzoom-zoom-button"><span className="icon fa fa-minus"/></div>
50-
<div className="cy-panzoom-slider">
51-
<div className="cy-panzoom-slider-background"/>
52-
<div className="cy-panzoom-slider-handle" style={{top: '32.2203px'}}><span className="icon fa fa-minus"/>
53-
</div>
54-
<div className="cy-panzoom-no-zoom-tick" style={{top: 43}}/>
55-
</div>
56-
</div>
57-
)
58-
}
59-
}
60-
61-
class Pan extends React.Component<{}, {}> {
62-
render () {
63-
return (
64-
<div className="cy-panzoom-panner">
65-
<div className="cy-panzoom-panner-handle"/>
66-
<div className="cy-panzoom-pan-up cy-panzoom-pan-button"/>
67-
<div className="cy-panzoom-pan-down cy-panzoom-pan-button"/>
68-
<div className="cy-panzoom-pan-left cy-panzoom-pan-button"/>
69-
<div className="cy-panzoom-pan-right cy-panzoom-pan-button"/>
70-
<div className="cy-panzoom-pan-indicator" style={{display: 'none'}}/>
71-
</div>
72-
)
73-
}
74-
}
75-
76-
77-
ReactDOM.render(<Toolbar />, document.getElementById('root'));
78-
79-
// const appState = new AppState();
80-
// ReactDOM.render(<TimerView appState={appState}/>, document.getElementById('root'));
5+
ReactDOM.render(<Toolbar />, document.getElementById('root'));

0 commit comments

Comments
 (0)