Comparing version 4.4.0 to 4.4.1
@@ -383,5 +383,4 @@ /* | ||
fits.below = (window_height - (tooltip_height+elem_height+elem_position.top)) > 5; | ||
fits.below_half = (window_height - (elem_width/2) - elem_position.top - (tooltip_height/2)) > 5; | ||
fits.above = (elem_position.top - tooltip_height) > 5; | ||
fits.above_half = (elem_position.top - (elem_width/2) - (tooltip_height/2)) > 5; | ||
fits.vertical_half = (elem_position.top + (elem_width/2) - (tooltip_height/2)) > 5; | ||
fits.right = (window_width - (tooltip_width+elem_width+elem_position.left)) > 5; | ||
@@ -391,3 +390,3 @@ fits.right_half = (window_width - elem_position.left - (elem_width/2) - (tooltip_width/2)) > 5; | ||
fits.left = (elem_position.left - tooltip_width) > 5; | ||
fits.left_half = (elem_position.left - (elem_width/2) - (tooltip_width/2)) > 5; | ||
fits.left_half = (elem_position.left + (elem_width/2) - (tooltip_width/2)) > 5; | ||
fits.left_full = (elem_position.left - tooltip_width) > 5; | ||
@@ -400,6 +399,6 @@ | ||
helper.positionDebug({ | ||
'Element Dimensions':{'Height':elem_height, 'Width':elem_width}, | ||
'Tooltip Dimensions':{'Height':tooltip_height, 'Width':tooltip_width}, | ||
'Window Dimensions':{'Height':window_height, 'Width':window_width}, | ||
'Arrow Dimensions':{'Height':arrow_height, 'Width':arrow_width}, | ||
'Element Dimensions':{'Height':elem_height, 'Width':elem_width}, | ||
'Tooltip Dimensions':{'Height':tooltip_height, 'Width':tooltip_width}, | ||
'Window Dimensions':{'Height':window_height, 'Width':window_width}, | ||
'Arrow Dimensions':{'Height':arrow_height, 'Width':arrow_width}, | ||
}); | ||
@@ -425,3 +424,3 @@ helper.positionDebug(fits); | ||
} | ||
else if( (position === 'auto' || position === 'left') && fits.left && fits.below_half && fits.above_half ) | ||
else if( (position === 'auto' || position === 'left') && fits.left && fits.vertical_half ) | ||
{ | ||
@@ -433,3 +432,3 @@ helper.positionDebug('Displaying left, centered'); | ||
} | ||
else if( (position === 'auto' || position === 'right') && fits.right && fits.below_half && fits.above_half ) | ||
else if( (position === 'auto' || position === 'right') && fits.right && fits.vertical_half ) | ||
{ | ||
@@ -444,3 +443,3 @@ helper.positionDebug('Displaying right, centered'); | ||
helper.positionDebug('Displaying below, to the right'); | ||
arrow_dir = 'top jc-arrow-hug-left'; | ||
arrow_dir = 'top jt-arrow-hug-left'; | ||
left = elem_position.left; | ||
@@ -452,3 +451,3 @@ top = elem_position.top + elem_height + (arrow_height/2); | ||
helper.positionDebug('Displaying below, to the left'); | ||
arrow_dir = 'top jc-arrow-hug-right'; | ||
arrow_dir = 'top jt-arrow-hug-right'; | ||
left = elem_position.left + elem_width - tooltip_width; | ||
@@ -460,3 +459,3 @@ top = elem_position.top + elem_height + (arrow_height/2); | ||
helper.positionDebug('Displaying above, to the right'); | ||
arrow_dir = 'bottom jc-arrow-hug-left'; | ||
arrow_dir = 'bottom jt-arrow-hug-left'; | ||
left = elem_position.left; | ||
@@ -468,3 +467,3 @@ top = elem_position.top - tooltip_height - (arrow_height/2); | ||
helper.positionDebug('Displaying above, to the left'); | ||
arrow_dir = 'bottom jc-arrow-hug-right'; | ||
arrow_dir = 'bottom jt-arrow-hug-right'; | ||
left = elem_position.left + elem_width - tooltip_width; | ||
@@ -471,0 +470,0 @@ top = elem_position.top - tooltip_height - (arrow_height/2); |
@@ -11,2 +11,2 @@ /* | ||
<a href='#' data-event='${i.event}' class='jc-button ${i.class}'>${i.text}</a> | ||
</div>`}),g+='</div></div>',g},createBackdropHTML:function(){return!!d.backdrop&&`<div class='jc-backdrop jc-${d.backdrop}-backdrop'></div>`},destroy:function(){const g=d.dom_wrapped.data(d.dataAttr);'undefined'!=typeof g&&null!==g&&(g.dom_wrapped.off('touchstart mousedown',g.toggleTooltipHandler),g.dom_wrapped.off('click',g.preventDefaultHandler),a(window).off('resize',g.onResize),g.isVisible()&&g.hide(),g.dom_wrapped.data(g.dataAttr,null))},initialize:function(){return d.dom_wrapped.on('touchstart mousedown',d.toggleTooltipHandler),d.dom_wrapped.on('click',d.preventDefaultHandler),d.dom_wrapped.data(d.dataAttr,d),d.dom},preventDefaultHandler:function(g){return g.preventDefault(),!1},toggleTooltipHandler:function(g){return g.preventDefault(),d.isVisible()?d.hide():d.show(),!1},show:function(g){if(d.isVisible())return!1;null!==a.jConfirm.current&&a.jConfirm.current.hide();const h=a('body');'blurred'===d.backdrop?h.addClass('jc-blurred-body'):d.backdrop&&h.append(d.createBackdropHTML()),h.append(d.createTooltipHTML()),d.tooltip=a('.jc-tooltip'),d.attachTooltipHandlers(),d.positionTooltip(),a(window).on('resize',d.onResize),d.hide_on_click&&a(document).on('touchstart mousedown',d.onClickOutside);const i='jconfirm'+Date.now();d.tooltip.attr('id',i),d.dom.attr('aria-describedby',i),a.jConfirm.current={dom:d.dom,hide:d.hide},('undefined'==typeof g||g)&&d.dom.trigger('jc-show',{tooltip:d.tooltip})},isVisible:function(){return null!==a.jConfirm.current&&d.dom===a.jConfirm.current.dom},hide:function(g){return a(window).off('resize',d.onResize),d.hide_on_click&&a(document).off('touchstart mousedown',d.onClickOutside),d.dom.attr('aria-describedby',null),d.tooltip.remove(),'blurred'===d.backdrop?a('body').removeClass('jc-blurred-body'):d.backdrop&&a('.jc-backdrop').remove(),a.jConfirm.current=null,('undefined'==typeof g||g)&&d.dom.trigger('jc-hide'),d.dom},onResize:function(){d.hide(!1),d.show(!1)},onClickOutside:function(g){const h=a(g.target);h.hasClass('jc-tooltip')||h.parents('.jc-tooltip:first').length||d.hide()},attachTooltipHandlers:function(){d.tooltip.find('.jc-button').on('click',function(g){g.preventDefault();const h=a(this);return d.dom_wrapped.trigger(h.data('event')),d.hide(),'confirm'===h.data('event')&&d.follow_href&&(d.open_new_tab?window.open(d.dom_wrapped.prop('href'),'_blank'):window.location.href=d.dom_wrapped.prop('href')),!1})},positionTooltip:function(){d.positionDebug('-- Start positioning --');let g=d.tooltip.find('.jc-arrow'),[h,i,j,k,l,m]=d.calculateSafePosition(d.position);return('undefined'==typeof l&&(d.positionDebug('Couldn\'t fit preferred position, downsizing and trying again'),d.tooltip.addClass('jc-tight-fit'),[h,m,l,m,l,m]=d.calculateSafePosition(d.position)),'undefined'==typeof l&&'auto'!==d.position&&(d.positionDebug('Couldn\'t fit preferred position'),[h,m,l,m,l,m]=d.calculateSafePosition('auto')),'undefined'==typeof l)?(d.positionDebug('Doesn\'t appear to fit. Displaying centered'),d.tooltip.addClass('jc-centered').css({top:'50%',left:'50%','margin-left':-(j/2),'margin-top':-(k/2)}),g.remove(),void d.positionDebug('-- Done positioning --')):(d.positionDebug({'Setting Position':{Left:l,Top:m}}),d.tooltip.css('left',l),d.tooltip.css('top',m),60>i&&(d.positionDebug('Element is less than '+i+'px. Setting arrow to hug the side tighter'),h+=' jc-arrow-super-hug'),g.addClass('jc-arrow-'+h),d.positionDebug('-- Done positioning --'),d)},calculateSafePosition:function(g){let h=d.tooltip.find('.jc-arrow'),i=d.dom_wrapped.offset(),j=d.dom_wrapped.outerHeight(),k=d.dom_wrapped.outerWidth(),l=parseInt(d.dom_wrapped.css('marginLeft').replace('px','')),m=parseInt(d.dom_wrapped.css('marginTop').replace('px',''));i.left+=l,i.top+=m;let n=d.tooltip.outerWidth(),o=d.tooltip.outerHeight(),p=document.querySelector('body').offsetWidth,q=document.querySelector('body').offsetHeight,r=h.is(':visible')?h.outerHeight():0,s=h.is(':visible')?h.outerWidth():0,t={};t.below=5<q-(o+j+i.top),t.below_half=5<q-k/2-i.top-o/2,t.above=5<i.top-o,t.above_half=5<i.top-k/2-o/2,t.right=5<p-(n+k+i.left),t.right_half=5<p-i.left-k/2-n/2,t.right_full=5<p-i.left-n,t.left=5<i.left-n,t.left_half=5<i.left-k/2-n/2,t.left_full=5<i.left-n,d.positionDebug({'Clicked Element':{Left:i.left,Top:i.top}}),d.positionDebug({'Element Dimensions':{Height:j,Width:k},'Tooltip Dimensions':{Height:o,Width:n},'Window Dimensions':{Height:q,Width:p},'Arrow Dimensions':{Height:r,Width:s}}),d.positionDebug(t);let u,v,w;return('auto'===g||'bottom'===g)&&t.below&&t.left_half&&t.right_half?(d.positionDebug('Displaying below, centered'),u='top',v=i.left-n/2+k/2,w=i.top+j+r/2):('auto'===g||'top'===g)&&t.above&&t.left_half&&t.right_half?(d.positionDebug('Displaying above, centered'),u='bottom',v=i.left-n/2+k/2,w=i.top-o-r/2):('auto'===g||'left'===g)&&t.left&&t.below_half&&t.above_half?(d.positionDebug('Displaying left, centered'),u='right',v=i.left-n-s/2,w=i.top+j/2-o/2):('auto'===g||'right'===g)&&t.right&&t.below_half&&t.above_half?(d.positionDebug('Displaying right, centered'),u='left',v=i.left+k+s/2,w=i.top+j/2-o/2):('auto'===g||'bottom'===g)&&t.below&&t.right_full?(d.positionDebug('Displaying below, to the right'),u='top jc-arrow-hug-left',v=i.left,w=i.top+j+r/2):('auto'===g||'bottom'===g)&&t.below&&t.left_full?(d.positionDebug('Displaying below, to the left'),u='top jc-arrow-hug-right',v=i.left+k-n,w=i.top+j+r/2):('auto'===g||'top'===g)&&t.above&&t.right_full?(d.positionDebug('Displaying above, to the right'),u='bottom jc-arrow-hug-left',v=i.left,w=i.top-o-r/2):('auto'==g||'top'==g)&&t.above&&t.left_full&&(d.positionDebug('Displaying above, to the left'),u='bottom jc-arrow-hug-right',v=i.left+k-n,w=i.top-o-r/2),[u,k,n,o,v,w]},positionDebug:function(g){return!!d.position_debug&&('object'==typeof g?console.table(g):console.log(`Position: ${g}`))}};d.destroy();var f=d.initialize();return d.show_now&&d.show(),f},a.jConfirm={},a.jConfirm.current=null,a.jConfirm.defaults={btns:!1,position_debug:!1,question:'Are you sure?',confirm_text:'Yes',deny_text:'No',follow_href:!1,open_new_tab:!1,hide_on_click:!0,position:'auto',class:'',show_deny_btn:!0,theme:'black',size:'small',backdrop:!1,show_now:!1}})(jQuery); | ||
</div>`}),g+='</div></div>',g},createBackdropHTML:function(){return!!d.backdrop&&`<div class='jc-backdrop jc-${d.backdrop}-backdrop'></div>`},destroy:function(){const g=d.dom_wrapped.data(d.dataAttr);'undefined'!=typeof g&&null!==g&&(g.dom_wrapped.off('touchstart mousedown',g.toggleTooltipHandler),g.dom_wrapped.off('click',g.preventDefaultHandler),a(window).off('resize',g.onResize),g.isVisible()&&g.hide(),g.dom_wrapped.data(g.dataAttr,null))},initialize:function(){return d.dom_wrapped.on('touchstart mousedown',d.toggleTooltipHandler),d.dom_wrapped.on('click',d.preventDefaultHandler),d.dom_wrapped.data(d.dataAttr,d),d.dom},preventDefaultHandler:function(g){return g.preventDefault(),!1},toggleTooltipHandler:function(g){return g.preventDefault(),d.isVisible()?d.hide():d.show(),!1},show:function(g){if(d.isVisible())return!1;null!==a.jConfirm.current&&a.jConfirm.current.hide();const h=a('body');'blurred'===d.backdrop?h.addClass('jc-blurred-body'):d.backdrop&&h.append(d.createBackdropHTML()),h.append(d.createTooltipHTML()),d.tooltip=a('.jc-tooltip'),d.attachTooltipHandlers(),d.positionTooltip(),a(window).on('resize',d.onResize),d.hide_on_click&&a(document).on('touchstart mousedown',d.onClickOutside);const i='jconfirm'+Date.now();d.tooltip.attr('id',i),d.dom.attr('aria-describedby',i),a.jConfirm.current={dom:d.dom,hide:d.hide},('undefined'==typeof g||g)&&d.dom.trigger('jc-show',{tooltip:d.tooltip})},isVisible:function(){return null!==a.jConfirm.current&&d.dom===a.jConfirm.current.dom},hide:function(g){return a(window).off('resize',d.onResize),d.hide_on_click&&a(document).off('touchstart mousedown',d.onClickOutside),d.dom.attr('aria-describedby',null),d.tooltip.remove(),'blurred'===d.backdrop?a('body').removeClass('jc-blurred-body'):d.backdrop&&a('.jc-backdrop').remove(),a.jConfirm.current=null,('undefined'==typeof g||g)&&d.dom.trigger('jc-hide'),d.dom},onResize:function(){d.hide(!1),d.show(!1)},onClickOutside:function(g){const h=a(g.target);h.hasClass('jc-tooltip')||h.parents('.jc-tooltip:first').length||d.hide()},attachTooltipHandlers:function(){d.tooltip.find('.jc-button').on('click',function(g){g.preventDefault();const h=a(this);return d.dom_wrapped.trigger(h.data('event')),d.hide(),'confirm'===h.data('event')&&d.follow_href&&(d.open_new_tab?window.open(d.dom_wrapped.prop('href'),'_blank'):window.location.href=d.dom_wrapped.prop('href')),!1})},positionTooltip:function(){d.positionDebug('-- Start positioning --');let g=d.tooltip.find('.jc-arrow'),[h,i,j,k,l,m]=d.calculateSafePosition(d.position);return('undefined'==typeof l&&(d.positionDebug('Couldn\'t fit preferred position, downsizing and trying again'),d.tooltip.addClass('jc-tight-fit'),[h,m,l,m,l,m]=d.calculateSafePosition(d.position)),'undefined'==typeof l&&'auto'!==d.position&&(d.positionDebug('Couldn\'t fit preferred position'),[h,m,l,m,l,m]=d.calculateSafePosition('auto')),'undefined'==typeof l)?(d.positionDebug('Doesn\'t appear to fit. Displaying centered'),d.tooltip.addClass('jc-centered').css({top:'50%',left:'50%','margin-left':-(j/2),'margin-top':-(k/2)}),g.remove(),void d.positionDebug('-- Done positioning --')):(d.positionDebug({'Setting Position':{Left:l,Top:m}}),d.tooltip.css('left',l),d.tooltip.css('top',m),60>i&&(d.positionDebug('Element is less than '+i+'px. Setting arrow to hug the side tighter'),h+=' jc-arrow-super-hug'),g.addClass('jc-arrow-'+h),d.positionDebug('-- Done positioning --'),d)},calculateSafePosition:function(g){let h=d.tooltip.find('.jc-arrow'),i=d.dom_wrapped.offset(),j=d.dom_wrapped.outerHeight(),k=d.dom_wrapped.outerWidth(),l=parseInt(d.dom_wrapped.css('marginLeft').replace('px','')),m=parseInt(d.dom_wrapped.css('marginTop').replace('px',''));i.left+=l,i.top+=m;let n=d.tooltip.outerWidth(),o=d.tooltip.outerHeight(),p=document.querySelector('body').offsetWidth,q=document.querySelector('body').offsetHeight,r=h.is(':visible')?h.outerHeight():0,s=h.is(':visible')?h.outerWidth():0,t={};t.below=5<q-(o+j+i.top),t.above=5<i.top-o,t.vertical_half=5<i.top+k/2-o/2,t.right=5<p-(n+k+i.left),t.right_half=5<p-i.left-k/2-n/2,t.right_full=5<p-i.left-n,t.left=5<i.left-n,t.left_half=5<i.left+k/2-n/2,t.left_full=5<i.left-n,d.positionDebug({'Clicked Element':{Left:i.left,Top:i.top}}),d.positionDebug({'Element Dimensions':{Height:j,Width:k},'Tooltip Dimensions':{Height:o,Width:n},'Window Dimensions':{Height:q,Width:p},'Arrow Dimensions':{Height:r,Width:s}}),d.positionDebug(t);let u,v,w;return('auto'===g||'bottom'===g)&&t.below&&t.left_half&&t.right_half?(d.positionDebug('Displaying below, centered'),u='top',v=i.left-n/2+k/2,w=i.top+j+r/2):('auto'===g||'top'===g)&&t.above&&t.left_half&&t.right_half?(d.positionDebug('Displaying above, centered'),u='bottom',v=i.left-n/2+k/2,w=i.top-o-r/2):('auto'===g||'left'===g)&&t.left&&t.vertical_half?(d.positionDebug('Displaying left, centered'),u='right',v=i.left-n-s/2,w=i.top+j/2-o/2):('auto'===g||'right'===g)&&t.right&&t.vertical_half?(d.positionDebug('Displaying right, centered'),u='left',v=i.left+k+s/2,w=i.top+j/2-o/2):('auto'===g||'bottom'===g)&&t.below&&t.right_full?(d.positionDebug('Displaying below, to the right'),u='top jt-arrow-hug-left',v=i.left,w=i.top+j+r/2):('auto'===g||'bottom'===g)&&t.below&&t.left_full?(d.positionDebug('Displaying below, to the left'),u='top jt-arrow-hug-right',v=i.left+k-n,w=i.top+j+r/2):('auto'===g||'top'===g)&&t.above&&t.right_full?(d.positionDebug('Displaying above, to the right'),u='bottom jt-arrow-hug-left',v=i.left,w=i.top-o-r/2):('auto'==g||'top'==g)&&t.above&&t.left_full&&(d.positionDebug('Displaying above, to the left'),u='bottom jt-arrow-hug-right',v=i.left+k-n,w=i.top-o-r/2),[u,k,n,o,v,w]},positionDebug:function(g){return!!d.position_debug&&('object'==typeof g?console.table(g):console.log(`Position: ${g}`))}};d.destroy();var f=d.initialize();return d.show_now&&d.show(),f},a.jConfirm={},a.jConfirm.current=null,a.jConfirm.defaults={btns:!1,position_debug:!1,question:'Are you sure?',confirm_text:'Yes',deny_text:'No',follow_href:!1,open_new_tab:!1,hide_on_click:!0,position:'auto',class:'',show_deny_btn:!0,theme:'black',size:'small',backdrop:!1,show_now:!1}})(jQuery); |
{ | ||
"name": "jconfirm", | ||
"version": "4.4.0", | ||
"version": "4.4.1", | ||
"description": "jQuery confirmation tooltip plugin", | ||
@@ -5,0 +5,0 @@ "repository": { |
89350
899