|  | @@ -1,116 +0,0 @@
 | 
	
		
			
				|  |  | -// this is image_share.js
 | 
	
		
			
				|  |  | -Images = new Mongo.Collection("images");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -if (Meteor.isClient) {
 | 
	
		
			
				|  |  | -  Session.set("imageLimit", 8);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  let lastScrollTop = 0;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  $(window).scroll(function (event) {
 | 
	
		
			
				|  |  | -    let $window = $(window);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    // Current position in the page.
 | 
	
		
			
				|  |  | -    let scrollTop = $window.scrollTop();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    // If we are near the bottom of the window.
 | 
	
		
			
				|  |  | -    if (scrollTop + $window.height() > $(document).height() - 100) {
 | 
	
		
			
				|  |  | -      // If we are heading down.
 | 
	
		
			
				|  |  | -      if (scrollTop > lastScrollTop) {
 | 
	
		
			
				|  |  | -        Session.set("imageLimit", Session.get("imageLimit") + 4);
 | 
	
		
			
				|  |  | -        console.log('Increased image count');
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      lastScrollTop = scrollTop;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  Accounts.ui.config({
 | 
	
		
			
				|  |  | -    passwordSignupFields: "USERNAME_AND_EMAIL"
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  const getUser = (userId) => {
 | 
	
		
			
				|  |  | -    let user = Meteor.users.findOne({ _id: userId });
 | 
	
		
			
				|  |  | -    return user ? user.username : "anonymous";
 | 
	
		
			
				|  |  | -  };
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  Template.images.helpers({ getUser,
 | 
	
		
			
				|  |  | -    images: function () {
 | 
	
		
			
				|  |  | -      const createdBy = Session.get("userFilter");
 | 
	
		
			
				|  |  | -      const selector = createdBy ? { createdBy } : {};
 | 
	
		
			
				|  |  | -      return Images.find(selector, {
 | 
	
		
			
				|  |  | -        sort: { createdOn: -1, rating: -1 },
 | 
	
		
			
				|  |  | -        limit: Session.get("imageLimit")
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    filtering_images: function () {
 | 
	
		
			
				|  |  | -      const userFilter = Session.get("userFilter");
 | 
	
		
			
				|  |  | -      return !!userFilter;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    image_id: function () {
 | 
	
		
			
				|  |  | -      return "rating-" + this._id;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    getFilterUser: function () {
 | 
	
		
			
				|  |  | -      const userFilter = Session.get("userFilter");
 | 
	
		
			
				|  |  | -      return getUser(userFilter);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  Template.body.helpers({
 | 
	
		
			
				|  |  | -    username: function () {
 | 
	
		
			
				|  |  | -      let user = Meteor.user();
 | 
	
		
			
				|  |  | -      let name = user ? user.username : "anon";
 | 
	
		
			
				|  |  | -      return name;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  Template.images.events({
 | 
	
		
			
				|  |  | -    "click .js-image": function (event) {
 | 
	
		
			
				|  |  | -      $(event.target).css("width", "50px");
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    "click .js-del-image": function (event) {
 | 
	
		
			
				|  |  | -      let imageId = this._id;
 | 
	
		
			
				|  |  | -      console.log(imageId);
 | 
	
		
			
				|  |  | -      // use jquery to hide the image component
 | 
	
		
			
				|  |  | -      // then remove it at the end of the animation
 | 
	
		
			
				|  |  | -      $("#" + imageId).hide("slow", function () {
 | 
	
		
			
				|  |  | -        Images.remove({ _id: imageId });
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    "click .js-rate-image": function (event) {
 | 
	
		
			
				|  |  | -      let rating = $(event.currentTarget).data("userrating");
 | 
	
		
			
				|  |  | -      let imageId = this.id.substring(7); // "rating-".length = 7.
 | 
	
		
			
				|  |  | -      console.log(imageId);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      Images.update({ _id: imageId },
 | 
	
		
			
				|  |  | -        { $set: { rating: rating }}
 | 
	
		
			
				|  |  | -      );
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    "click .js-show-image-form": function () {
 | 
	
		
			
				|  |  | -      $("#image_add_form").modal("show");
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    "click .js-set-image-filter": function () {
 | 
	
		
			
				|  |  | -      Session.set("userFilter", this.createdBy);
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    "click .js-unset-image-filter": () => {
 | 
	
		
			
				|  |  | -      Session.delete("userFilter");
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  Template.image_add_form.events({
 | 
	
		
			
				|  |  | -    'submit .js-add-image': function (event) {
 | 
	
		
			
				|  |  | -      let img_src = event.target.img_src.value;
 | 
	
		
			
				|  |  | -      let img_alt = event.target.img_alt.value;
 | 
	
		
			
				|  |  | -      console.log("src: " + img_src + " alt: " + img_alt);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      if (Meteor.user()) {
 | 
	
		
			
				|  |  | -        Images.insert({
 | 
	
		
			
				|  |  | -          img_src: img_src,
 | 
	
		
			
				|  |  | -          img_alt: img_alt,
 | 
	
		
			
				|  |  | -          createdOn: new Date(),
 | 
	
		
			
				|  |  | -          createdBy: Meteor.userId()
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      $("#image_add_form").modal("hide");
 | 
	
		
			
				|  |  | -      return false;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | -}
 |