Dan Brown

Started on hiding manager on request

...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
18 this.callback = callback; 18 this.callback = callback;
19 } 19 }
20 20
21 - hide() { 21 + hide(e) {
22 + console.log('test');
22 $(React.findDOMNode(this)).hide(); 23 $(React.findDOMNode(this)).hide();
23 } 24 }
24 25
...@@ -72,8 +73,9 @@ ...@@ -72,8 +73,9 @@
72 render() { 73 render() {
73 var loadMore = this.loadMore.bind(this); 74 var loadMore = this.loadMore.bind(this);
74 var selectImage = this.selectImage.bind(this); 75 var selectImage = this.selectImage.bind(this);
76 + var hide = this.hide.bind(this);
75 return ( 77 return (
76 - <div className="overlay"> 78 + <div className="overlay" onClick={hide}>
77 <div id="image-manager"> 79 <div id="image-manager">
78 <div className="image-manager-content"> 80 <div className="image-manager-content">
79 <div className="dropzone-container" ref="dropZone"> 81 <div className="dropzone-container" ref="dropZone">
...@@ -82,6 +84,7 @@ ...@@ -82,6 +84,7 @@
82 <ImageList data={this.state.images} loadMore={loadMore} selectImage={selectImage} hasMore={this.state.hasMore}/> 84 <ImageList data={this.state.images} loadMore={loadMore} selectImage={selectImage} hasMore={this.state.hasMore}/>
83 </div> 85 </div>
84 <div className="image-manager-sidebar"> 86 <div className="image-manager-sidebar">
87 + <button className="neg button image-manager-close" onClick={hide}>x</button>
85 <h2>Images</h2> 88 <h2>Images</h2>
86 </div> 89 </div>
87 </div> 90 </div>
...@@ -90,7 +93,6 @@ ...@@ -90,7 +93,6 @@
90 } 93 }
91 94
92 } 95 }
93 - window.ImageManager = new ImageManager();
94 96
95 class ImageList extends React.Component { 97 class ImageList extends React.Component {
96 98
...@@ -113,21 +115,48 @@ ...@@ -113,21 +115,48 @@
113 115
114 class Image extends React.Component { 116 class Image extends React.Component {
115 117
118 + constructor(){
119 + super();
120 + this._dblClickTime = 160;
121 + this._cClickTime = 0;
122 + }
123 +
116 setImage() { 124 setImage() {
117 this.props.selectImage(this.props.image); 125 this.props.selectImage(this.props.image);
118 } 126 }
119 127
128 + imageClick() {
129 + var cTime = (new Date()).getTime();
130 + var timeDiff = cTime - this._cClickTime;
131 + console.log(timeDiff);
132 + if(this._cClickTime !== 0 && timeDiff < this._dblClickTime) {
133 + // DoubleClick
134 + this.setImage();
135 + } else {
136 + // Single Click
137 + }
138 + this._cClickTime = cTime;
139 + }
140 +
120 render() { 141 render() {
121 - var setImage = this.setImage.bind(this); 142 + var imageClick = this.imageClick.bind(this);
122 return ( 143 return (
123 <div> 144 <div>
124 - <img onDoubleClick={setImage} src={this.props.image.thumbnail}/> 145 + <img onDoubleClick={imageClick} src={this.props.image.thumbnail}/>
125 </div> 146 </div>
126 ); 147 );
127 } 148 }
128 149
129 } 150 }
130 151
152 + class ImageInfoPage extends React.Component {
153 +
154 + render() {
155 +
156 + }
157 +
158 + }
159 +
131 if(document.getElementById('image-manager-container')) { 160 if(document.getElementById('image-manager-container')) {
132 window.ImageManager = React.render( 161 window.ImageManager = React.render(
133 <ImageManager />, 162 <ImageManager />,
......
...@@ -53,7 +53,13 @@ ...@@ -53,7 +53,13 @@
53 padding: 0 $-l; 53 padding: 0 $-l;
54 border-left: 1px solid #DDD; 54 border-left: 1px solid #DDD;
55 } 55 }
56 - 56 +.image-manager-close {
57 + position: absolute;
58 + top: 0;
59 + right: 0;
60 + margin: 0;
61 + border-radius: 0;
62 +}
57 .image-manager-list { 63 .image-manager-list {
58 overflow-y: scroll; 64 overflow-y: scroll;
59 flex: 1; 65 flex: 1;
......
...@@ -2,4 +2,13 @@ ...@@ -2,4 +2,13 @@
2 2
3 @section('content') 3 @section('content')
4 <div id="container"></div> 4 <div id="container"></div>
5 +@stop
6 +
7 +
8 +@section('bottom')
9 + <div id="image-manager-container"></div>
10 + <script src="/js/image-manager.js"></script>
11 + <script>
12 + window.ImageManager.show();
13 + </script>
5 @stop 14 @stop
...\ No newline at end of file ...\ No newline at end of file
......