4 var ImageManager = new Vue({
18 this.fetchData(this.page);
27 fetchData: function() {
29 $.getJSON('/images/all/' + _this.page, function(data) {
30 _this.images = _this.images.concat(data.images);
31 _this.hasMore = data.hasMore;
36 setupDropZone: function() {
38 var dropZone = new Dropzone(_this.$$.dropZone, {
42 this.on("sending", function(file, xhr, data) {
43 data.append("_token", document.querySelector('meta[name=token]').getAttribute('content'));
45 this.on("success", function(file, data) {
46 _this.images.unshift(data);
47 $(file.previewElement).fadeOut(400, function() {
55 imageClick: function(image) {
56 var dblClickTime = 380;
57 var cTime = (new Date()).getTime();
58 var timeDiff = cTime - this.cClickTime;
59 if(this.cClickTime !== 0 && timeDiff < dblClickTime) {
66 this.selectedImage = (this.selectedImage===image) ? false : image;
68 this.cClickTime = cTime;
71 show: function(callback) {
72 this.callback = callback;
73 this.$$.overlay.style.display = 'block';
76 overlayClick: function(e) {
77 if(e.target.className==='overlay') {
83 this.$$.overlay.style.display = 'none';
90 window.ImageManager = ImageManager;