images: [],
hasMore: false,
page: 0,
- cClickTime: 0
+ cClickTime: 0,
+ selectedImage: false
},
created: function() {
}
this.hide();
} else {
- // Single Click
+ this.selectedImage = (this.selectedImage===image) ? false : image;
}
this.cClickTime = cTime;
},
this.$$.overlay.style.display = 'block';
},
+ overlayClick: function(e) {
+ if(e.target.className==='overlay') {
+ this.hide();
+ }
+ },
+
hide: function() {
this.$$.overlay.style.display = 'none';
}
<div id="image-manager-container"></div>
<script src="/js/image-manager.js"></script>
<script>
- //window.ImageManager.show();
+ window.ImageManager.show();
</script>
@stop
\ No newline at end of file
<div id="image-manager">
- <div class="overlay" v-el="overlay" style="display:none;">
+ <div class="overlay" v-el="overlay" v-on="click: overlayClick" style="display:none;">
<div class="image-manager-body">
<div class="image-manager-content">
<div class="dropzone-container" v-el="dropZone">
</div>
<div class="image-manager-list">
<div v-repeat="image: images">
- <img v-attr="src: image.thumbnail" v-on="click: imageClick(image)" alt="@{{image.name}}">
+ <img v-class="selected: (image==selectedImage)" v-attr="src: image.thumbnail" v-on="click: imageClick(image)" alt="@{{image.name}}">
</div>
<div class="load-more" v-show="hasMore" v-on="click: fetchData">Load More</div>
</div>
</div>
<div class="image-manager-sidebar">
- <button class="neg button image-manager-close">x</button>
+ <button class="neg button image-manager-close" v-on="click: hide()">x</button>
<h2>Images</h2>
</div>
</div>