|
|
|
@ -66,10 +66,10 @@ export function preloadImages(srcArray, onload) {
|
|
|
|
|
each(srcArray, (i, src) => { |
|
|
|
|
images[i] = new Image(); |
|
|
|
|
images[i].src = src; |
|
|
|
|
images[i].onload = function() { |
|
|
|
|
images[i].onload = function () { |
|
|
|
|
complete(); |
|
|
|
|
}; |
|
|
|
|
images[i].onerror = function() { |
|
|
|
|
images[i].onerror = function () { |
|
|
|
|
complete(); |
|
|
|
|
}; |
|
|
|
|
}); |
|
|
|
@ -741,8 +741,14 @@ export function getComboPosition(combo, popup, extraWidth, extraHeight, needAdap
|
|
|
|
|
default: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if (needAdaptHeight === true) { |
|
|
|
|
popup.resetHeight && popup.resetHeight(Math.min(viewportBounds.height - position.top - (positionRelativeElement ? positionRelativeElement.getBoundingClientRect().top : 0), maxHeight)); |
|
|
|
|
if (needAdaptHeight === true && popup.resetHeight) { |
|
|
|
|
const comboRect = combo.element[0].getBoundingClientRect(); |
|
|
|
|
const relativeOffset = positionRelativeElement ? positionRelativeElement.getBoundingClientRect().top : 0; |
|
|
|
|
if (position.top < comboRect.top) { |
|
|
|
|
popup.resetHeight(Math.min(viewportBounds.height - position.top - relativeOffset, comboRect.top, maxHeight)); |
|
|
|
|
} else if (position.top > comboRect.bottom) { |
|
|
|
|
popup.resetHeight(Math.min(viewportBounds.height - position.top - relativeOffset, viewportBounds.height - comboRect.bottom, maxHeight)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return position; |
|
|
|
|