5 class ImageManager extends React.Component {
17 $(React.findDOMNode(this)).show();
18 this.callback = callback;
23 $(React.findDOMNode(this)).hide();
36 $.getJSON('/images/all', data => {
43 this.dropZone = new Dropzone(React.findDOMNode(this.refs.dropZone), {
47 this.on("sending", function(file, xhr, data) {
48 data.append("_token", document.querySelector('meta[name=token]').getAttribute('content'));
50 this.on("success", function(file, data) {
51 _this.state.images.unshift(data);
53 images: _this.state.images
55 //$(file.previewElement).fadeOut(400, function() {
56 // dz.removeFile(file);
65 $.getJSON('/images/all/' + this.state.page, data => {
67 images: this.state.images.concat(data.images),
74 var loadMore = this.loadMore.bind(this);
75 var selectImage = this.selectImage.bind(this);
76 var hide = this.hide.bind(this);
78 <div className="overlay" onClick={hide}>
79 <div id="image-manager">
80 <div className="image-manager-content">
81 <div className="dropzone-container" ref="dropZone">
82 <div className="dz-message">Drop files or click here to upload</div>
84 <ImageList data={this.state.images} loadMore={loadMore} selectImage={selectImage} hasMore={this.state.hasMore}/>
86 <div className="image-manager-sidebar">
87 <button className="neg button image-manager-close" onClick={hide}>x</button>
97 class ImageList extends React.Component {
100 var selectImage = this.props.selectImage;
101 var images = this.props.data.map(function(image) {
103 <Image key={image.id} image={image} selectImage={selectImage} />
107 <div className="image-manager-list clearfix">
109 { this.props.hasMore ? <div className="load-more" onClick={this.props.loadMore}>Load More</div> : null }
116 class Image extends React.Component {
120 this._dblClickTime = 160;
121 this._cClickTime = 0;
125 this.props.selectImage(this.props.image);
129 var cTime = (new Date()).getTime();
130 var timeDiff = cTime - this._cClickTime;
131 console.log(timeDiff);
132 if(this._cClickTime !== 0 && timeDiff < this._dblClickTime) {
138 this._cClickTime = cTime;
142 var imageClick = this.imageClick.bind(this);
145 <img onDoubleClick={imageClick} src={this.props.image.thumbnail}/>
152 class ImageInfoPage extends React.Component {
160 if(document.getElementById('image-manager-container')) {
161 window.ImageManager = React.render(
163 document.getElementById('image-manager-container')