|
96 | 96 | function convertOuterPositionToOffset(element, target, position){
|
97 | 97 | var targetBoundingClientRect = $(target).get(0).getBoundingClientRect();
|
98 | 98 | var offset = {};
|
99 |
| - |
100 | 99 | if(position === 'top'){
|
101 | 100 | offset.left = (targetBoundingClientRect.left + (targetBoundingClientRect.width / 2)) - (element.outerWidth() / 2);
|
102 | 101 | offset.top = targetBoundingClientRect.top - element.outerHeight();
|
|
118 | 117 | var delta;
|
119 | 118 | if((offset.left + width) > bodyBoundingClientRect.right){
|
120 | 119 | delta = (bodyBoundingClientRect.right - (offset.left + width));
|
121 |
| - offset.left = offset.left + delta; |
| 120 | + offset.left = offset.left + delta - 30; |
122 | 121 | }else if(offset.left < bodyBoundingClientRect.left){
|
123 | 122 | delta = bodyBoundingClientRect.left - offset.left;
|
124 |
| - offset.left = offset.left + delta; |
| 123 | + offset.left = offset.left + delta + 30; |
125 | 124 | }
|
126 | 125 | return offset;
|
127 | 126 | }
|
128 | 127 |
|
129 | 128 | // refactor
|
130 | 129 | function outerPositionElement(element, target, position, offsetX, offsetY){
|
| 130 | + $(element).css({ |
| 131 | + left: 0 |
| 132 | + }); |
| 133 | + $(element).css({ |
| 134 | + width: $(element).outerWidth() |
| 135 | + }); |
| 136 | + |
131 | 137 | var offset = convertOuterPositionToOffset(element, target, position);
|
132 | 138 | offset.left += Number(offsetX || 0);
|
133 | 139 | offset.top += Number(offsetY || 0);
|
134 | 140 | offset = fitOffsetToScreen(offset, element.outerWidth());
|
135 |
| - return element.offset(offset); |
| 141 | + |
| 142 | + $(element).css({ |
| 143 | + left: '', |
| 144 | + width: '' |
| 145 | + }); |
| 146 | + return element.css(offset); |
136 | 147 | }
|
137 | 148 |
|
138 | 149 | function Modal(){
|
|
191 | 202 |
|
192 | 203 | function repositionTooltipArrow(){
|
193 | 204 | var tooltipArrowElement = getTooltipArrowElement();
|
194 |
| - var elementBoundingClientRect = that.element.get(0).getBoundingClientRect(); |
| 205 | + var elementBoundingClientRect = targetElement.get(0).getBoundingClientRect(); |
195 | 206 | var left;
|
196 | 207 | var top;
|
197 | 208 |
|
|
386 | 397 | unhighlighElement(element);
|
387 | 398 | });
|
388 | 399 | }
|
389 |
| - hint && hint.hideTooltip(); |
| 400 | + if(hint){ |
| 401 | + hint.hideTooltip(); |
| 402 | + } |
390 | 403 | if(modal){
|
391 | 404 | modal.destroy();
|
392 | 405 | }
|
|
400 | 413 | }
|
401 | 414 |
|
402 | 415 | function cleanup(){
|
403 |
| - hint.destroy(); |
| 416 | + if(hint){ |
| 417 | + hint.destroy(); |
| 418 | + } |
404 | 419 | backdrop.remove();
|
405 | 420 | if(base.currentStep.element){
|
406 | 421 | unhighlighElement(base.currentStep.element);
|
|
458 | 473 | });
|
459 | 474 | }
|
460 | 475 |
|
461 |
| - |
| 476 | + if(step.backdrop){ |
| 477 | + backdrop.show(); |
| 478 | + }else{ |
| 479 | + backdrop.hide(); |
| 480 | + } |
462 | 481 |
|
463 | 482 | if(!step.modal){
|
464 | 483 | return hint.render();
|
|
0 commit comments