Showing
3 changed files
with
50 additions
and
6 deletions
| ... | @@ -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; | ... | ... |
| ... | @@ -3,3 +3,12 @@ | ... | @@ -3,3 +3,12 @@ |
| 3 | @section('content') | 3 | @section('content') |
| 4 | <div id="container"></div> | 4 | <div id="container"></div> |
| 5 | @stop | 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> | ||
| 14 | +@stop | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment