123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /**
- * @name Multiselect Module
- * @description Select multiple albums or photos.
- * @author Tobias Reich
- * @copyright 2014 by Tobias Reich
- */
- multiselect = {
- position: {
-
- top: null,
- right: null,
- bottom: null,
- left: null
-
- },
- show: function(e) {
-
- if ($('.album:hover, .photo:hover').length!=0) return false;
- if (visible.multiselect()) $('#multiselect').remove();
-
- multiselect.position.top = e.pageY;
- multiselect.position.right = -1 * (e.pageX - $(document).width());
- multiselect.position.bottom = -1 * (multiselect.position.top - $(window).height());
- multiselect.position.left = e.pageX;
-
- $('body').append(build.multiselect(multiselect.position.top, multiselect.position.left));
- $(document).on('mousemove', multiselect.resize);
-
- },
-
- resize: function(e) {
-
- var mouse_x = e.pageX,
- mouse_y = e.pageY,
- newHeight,
- newWidth;
-
- if (multiselect.position.top===null||
- multiselect.position.right===null||
- multiselect.position.bottom===null||
- multiselect.position.left===null) return false;
-
- if (mouse_y>=multiselect.position.top) {
-
- // Do not leave the screen
- newHeight = e.pageY - multiselect.position.top;
- if ((multiselect.position.top+newHeight)>=$(document).height())
- newHeight -= (multiselect.position.top + newHeight) - $(document).height() + 2;
-
- $('#multiselect').css({
- top: multiselect.position.top,
- bottom: 'inherit',
- height: newHeight
- });
-
- } else {
-
- $('#multiselect').css({
- top: 'inherit',
- bottom: multiselect.position.bottom,
- height: multiselect.position.top - e.pageY
- });
-
- }
-
- if (mouse_x>=multiselect.position.left) {
-
- // Do not leave the screen
- newWidth = e.pageX - multiselect.position.left;
- if ((multiselect.position.left+newWidth)>=$(document).width())
- newWidth -= (multiselect.position.left + newWidth) - $(document).width() + 2;
-
- $('#multiselect').css({
- right: 'inherit',
- left: multiselect.position.left,
- width: newWidth
- });
-
- } else {
-
- $('#multiselect').css({
- right: multiselect.position.right,
- left: 'inherit',
- width: multiselect.position.left - e.pageX
- });
-
- }
-
- },
-
- close: function() {
-
- $(document).off('mousemove');
-
- multiselect.position.top = null;
- multiselect.position.right = null;
- multiselect.position.bottom = null;
- multiselect.position.left = null;
-
- lychee.animate('#multiselect', "fadeOut");
- setTimeout(function() {
- $('#multiselect').remove();
- }, 300);
-
- }
- }
|