version 1.5.2

This commit is contained in:
Rene
2018-09-09 14:16:45 +02:00
parent aba6cc5426
commit 45fe5b96a3
2 changed files with 131 additions and 131 deletions
+55 -55
View File
@@ -41,7 +41,7 @@
s : 'style', s : 'style',
i : 'id', i : 'id',
l : 'length', l : 'length',
p : 'prototype', p : 'prototype',
oH : 'offsetHeight', oH : 'offsetHeight',
cH : 'clientHeight', cH : 'clientHeight',
sH : 'scrollHeight', sH : 'scrollHeight',
@@ -213,12 +213,12 @@
// internal IsCallable function // internal IsCallable function
//throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); //throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
} }
var proto = LEXICON.p; var proto = LEXICON.p;
var aArgs = Array[proto].slice.call(arguments, 2); var aArgs = Array[proto].slice.call(arguments, 2);
var fNOP = function() {}; var fNOP = function() {};
var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); }; var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); };
if (func[proto]) if (func[proto])
fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property
fBound[proto] = new fNOP(); fBound[proto] = new fNOP();
@@ -483,7 +483,7 @@
return false; return false;
var key; var key;
var proto = LEXICON.p; var proto = LEXICON.p;
var hasOwnProperty = Object[proto].hasOwnProperty; var hasOwnProperty = Object[proto].hasOwnProperty;
var hasOwnConstructor = hasOwnProperty.call(obj, 'constructor'); var hasOwnConstructor = hasOwnProperty.call(obj, 'constructor');
var hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf'); var hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf');
@@ -1674,7 +1674,7 @@
if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y) if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y)
return; return;
var abs = Math.abs; var abs = Math.abs;
var windowWidth = compatibility.wW(); var windowWidth = compatibility.wW();
var windowHeight = compatibility.wH(); var windowHeight = compatibility.wH();
var windowDpr = getWindowDPR(); var windowDpr = getWindowDPR();
@@ -1721,7 +1721,7 @@
} }
}; };
function differenceIsBiggerThanOne(valOne, valTwo) { function differenceIsBiggerThanOne(valOne, valTwo) {
var absValOne = abs(valOne); var absValOne = abs(valOne);
var absValTwo = abs(valTwo); var absValTwo = abs(valTwo);
return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo);
@@ -1776,7 +1776,7 @@
var _base = this; var _base = this;
var _strAutoUpdate = 'autoUpdate'; var _strAutoUpdate = 'autoUpdate';
var _strAutoUpdateInterval = _strAutoUpdate + 'Interval'; var _strAutoUpdateInterval = _strAutoUpdate + 'Interval';
var _strLength = LEXICON.l; var _strLength = LEXICON.l;
var _loopingInstances = [ ]; var _loopingInstances = [ ];
var _loopingInstancesIntervalCache = [ ]; var _loopingInstancesIntervalCache = [ ];
@@ -1885,7 +1885,7 @@
//make correct instanceof //make correct instanceof
var _base = new window[PLUGINNAME](); var _base = new window[PLUGINNAME]();
var _frameworkProto = framework[LEXICON.p]; var _frameworkProto = framework[LEXICON.p];
//globals: //globals:
var _nativeScrollbarIsOverlaid; var _nativeScrollbarIsOverlaid;
@@ -3045,7 +3045,7 @@
* @param hostSizeChanged True if this method was called due to a host size change. * @param hostSizeChanged True if this method was called due to a host size change.
* @param contentSizeChanged True if this method was called due to a content size change. * @param contentSizeChanged True if this method was called due to a content size change.
* @param force True if every property shall be updated and the cache shall be ignored. * @param force True if every property shall be updated and the cache shall be ignored.
* @param preventSwallowing True if this method shall be executed event if it could be swallowed. * @param preventSwallowing True if this method shall be executed event if it could be swallowed.
*/ */
function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) {
var now = compatibility.now(); var now = compatibility.now();
@@ -3214,7 +3214,7 @@
_overflowBehaviorCache = extend(true, {}, overflowBehavior); _overflowBehaviorCache = extend(true, {}, overflowBehavior);
_textareaDynWidthCache = textareaDynWidth; _textareaDynWidthCache = textareaDynWidth;
_textareaDynHeightCache = textareaDynHeight; _textareaDynHeightCache = textareaDynHeight;
_hasOverflowCache = _hasOverflowCache || { x: false, y: false }; _hasOverflowCache = _hasOverflowCache || { x: false, y: false };
//set correct class name to the host element //set correct class name to the host element
if (classNameChanged) { if (classNameChanged) {
@@ -3388,8 +3388,8 @@
//set info for padding //set info for padding
_paddingX = padding.l + padding.r; _paddingX = padding.l + padding.r;
_paddingY = padding.t + padding.b; _paddingY = padding.t + padding.b;
padding.ax = paddingAbsolute ? _paddingX : 0; padding.ax = paddingAbsolute ? _paddingX : 0;
padding.ay = paddingAbsolute ? _paddingY : 0; padding.ay = paddingAbsolute ? _paddingY : 0;
padding.c = checkCacheTRBL(padding, _cssPaddingCache); padding.c = checkCacheTRBL(padding, _cssPaddingCache);
//set info for border //set info for border
@@ -3460,10 +3460,10 @@
if (cssMaxValue.cw) if (cssMaxValue.cw)
contentElementCSS[_strMaxMinus + _strHeight] = contentElementCSS[_strMaxMinus + _strHeight] =
(cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY)) (cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY))
: _strEmpty); : _strEmpty);
contentElementCSS[_strHeight] = _strAuto; contentElementCSS[_strHeight] = _strAuto;
} }
else if (heightAutoChanged || paddingAbsoluteChanged) { else if (heightAutoChanged || paddingAbsoluteChanged) {
contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty; contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty;
contentElementCSS[_strHeight] = _strHundredPercent; contentElementCSS[_strHeight] = _strHundredPercent;
} }
@@ -3472,11 +3472,11 @@
contentElementCSS[_strMaxMinus + _strWidth] = contentElementCSS[_strMaxMinus + _strWidth] =
(cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) + (cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) +
(_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0)
: _strEmpty); : _strEmpty);
contentElementCSS[_strWidth] = _strAuto; contentElementCSS[_strWidth] = _strAuto;
contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix
} }
else if (widthAutoChanged || paddingAbsoluteChanged) { else if (widthAutoChanged || paddingAbsoluteChanged) {
contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty; contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty;
contentElementCSS[_strWidth] = _strHundredPercent; contentElementCSS[_strWidth] = _strHundredPercent;
contentElementCSS[_strFloat] = _strEmpty; contentElementCSS[_strFloat] = _strEmpty;
@@ -4190,7 +4190,7 @@
*/ */
function initScrollbarInteractivity(isHorizontal) { function initScrollbarInteractivity(isHorizontal) {
var scrollbarVars = getScrollbarVars(isHorizontal); var scrollbarVars = getScrollbarVars(isHorizontal);
var insideIFrame = _windowElement.top !== _windowElement; var insideIFrame = _windowElement.top !== _windowElement;
var mouseDownScroll; var mouseDownScroll;
var mouseDownOffset; var mouseDownOffset;
var xy = scrollbarVars.xy; var xy = scrollbarVars.xy;
@@ -4206,7 +4206,7 @@
function decreaseTrackScrollAmount() { function decreaseTrackScrollAmount() {
scrollDurationFactor = 1; scrollDurationFactor = 1;
}; };
function documentKeyDown(event) { function documentKeyDown(event) {
if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
increaseTrackScrollAmount(); increaseTrackScrollAmount();
}; };
@@ -4220,10 +4220,10 @@
return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent; return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent;
}; };
function handleDragMove(event) { function handleDragMove(event) {
if(!onMouseTouchDownContinue(event)) { if(!onMouseTouchDownContinue(event)) {
documentMouseTouchUp(event); documentMouseTouchUp(event);
return; return;
} }
var trackLength = scrollbarVars.i.tl; var trackLength = scrollbarVars.i.tl;
var handleLength = scrollbarVars.i.hl; var handleLength = scrollbarVars.i.hl;
@@ -4262,12 +4262,12 @@
trackTimeout = undefined; trackTimeout = undefined;
} }
var rect = _hostElement[0].getBoundingClientRect(); var rect = _hostElement[0].getBoundingClientRect();
var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom;
//if mouse is outside host element //if mouse is outside host element
if (!mouseInsideHost) if (!mouseInsideHost)
hostOnMouseLeave(); hostOnMouseLeave();
if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove)
refreshScrollbarsAutoHide(false); refreshScrollbarsAutoHide(false);
@@ -4916,19 +4916,19 @@
_base.update = function (force) { _base.update = function (force) {
var attrsChanged; var attrsChanged;
var contentSizeC; var contentSizeC;
var isString = type(force) == TYPES.s; var isString = type(force) == TYPES.s;
var imgElementSelector = 'img'; var imgElementSelector = 'img';
var imgElementLoadEvent = 'load'; var imgElementLoadEvent = 'load';
if(isString) { if(isString) {
if (force.indexOf(_strAuto) === 0) { if (force.indexOf(_strAuto) === 0) {
attrsChanged = meaningfulAttrsChanged(); attrsChanged = meaningfulAttrsChanged();
contentSizeC = updateAutoContentSizeChanged(); contentSizeC = updateAutoContentSizeChanged();
if (attrsChanged || contentSizeC) if (attrsChanged || contentSizeC)
update(false, contentSizeC, false, force.slice(-1) == "+"); update(false, contentSizeC, false, force.slice(-1) == "+");
} }
else if (force === 'zoom') else if (force === 'zoom')
update(true, true); update(true, true);
} }
else { else {
force = _isSleeping || force; force = _isSleeping || force;
_isSleeping = false; _isSleeping = false;
@@ -5134,7 +5134,7 @@
* } * }
*/ */
_base.scroll = function (coordinates, duration, easing, complete) { _base.scroll = function (coordinates, duration, easing, complete) {
if (arguments.length === 0 || coordinates === undefined) { if (arguments.length === 0 || coordinates === undefined) {
var infoX = _scrollHorizontalInfo; var infoX = _scrollHorizontalInfo;
var infoY = _scrollVerticalInfo; var infoY = _scrollVerticalInfo;
var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i; var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i;
@@ -5187,7 +5187,7 @@
var strAlways = 'always'; var strAlways = 'always';
var strNever = 'never'; var strNever = 'never';
var strIfNeeded = 'ifneeded'; var strIfNeeded = 'ifneeded';
var strLength = LEXICON.l; var strLength = LEXICON.l;
var settingsAxis; var settingsAxis;
var settingsScroll; var settingsScroll;
var settingsBlock; var settingsBlock;
@@ -5242,9 +5242,9 @@
return rawScroll; return rawScroll;
}; };
var getFinalScroll = function (isX, rawScroll) { var getFinalScroll = function (isX, rawScroll) {
var isString = type(rawScroll) == TYPES.s; var isString = type(rawScroll) == TYPES.s;
if(isString) if(isString)
_base.update(_strAuto + "+"); _base.update(_strAuto + "+");
var operator; var operator;
var amount; var amount;
var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo;
@@ -5363,7 +5363,7 @@
}; };
if (possibleElementIsJQuery || possibleElementIsHTMLElement) { if (possibleElementIsJQuery || possibleElementIsHTMLElement) {
//get settings //get settings
var margin = coordinatesIsElementObj ? coordinates.margin : 0; var margin = coordinatesIsElementObj ? coordinates.margin : 0;
var axis = coordinatesIsElementObj ? coordinates.axis : 0; var axis = coordinatesIsElementObj ? coordinates.axis : 0;
var scroll = coordinatesIsElementObj ? coordinates.scroll : 0; var scroll = coordinatesIsElementObj ? coordinates.scroll : 0;
@@ -5375,7 +5375,7 @@
if (finalElement[strLength] === 0) if (finalElement[strLength] === 0)
return; return;
_base.update(_strAuto + "+"); _base.update(_strAuto + "+");
//margin can be [ boolean, number, array of 2, array of 4, object ] //margin can be [ boolean, number, array of 2, array of 4, object ]
if (marginType == TYPES.n || marginType == TYPES.b) if (marginType == TYPES.n || marginType == TYPES.b)
@@ -5400,16 +5400,16 @@
settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues); settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues);
settingsMargin = margin; settingsMargin = margin;
var viewportScroll = { var viewportScroll = {
l: _scrollHorizontalInfo.cs, l: _scrollHorizontalInfo.cs,
t: _scrollVerticalInfo.cs t: _scrollVerticalInfo.cs
}; };
// use padding element instead of viewport element because padding element has never padding, margin or position applied. // use padding element instead of viewport element because padding element has never padding, margin or position applied.
var viewportOffset = _paddingElement.offset(); var viewportOffset = _paddingElement.offset();
//get coordinates //get coordinates
var elementOffset = finalElement.offset(); var elementOffset = finalElement.offset();
var doNotScroll = { var doNotScroll = {
x : settingsScroll.x == strNever || settingsAxis == _strY, x : settingsScroll.x == strNever || settingsAxis == _strY,
y : settingsScroll.y == strNever || settingsAxis == _strX y : settingsScroll.y == strNever || settingsAxis == _strX
}; };
@@ -5430,11 +5430,11 @@
//measuring is required //measuring is required
if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) { if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) {
var measuringElm = finalElement[0]; var measuringElm = finalElement[0];
var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : { var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : {
width : measuringElm[LEXICON.oW], width : measuringElm[LEXICON.oW],
height : measuringElm[LEXICON.oH] height : measuringElm[LEXICON.oH]
}; };
var elementSize = { var elementSize = {
w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1], w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1],
h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2] h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2]
@@ -5489,7 +5489,7 @@
doScrollTop = finalScroll[_strScrollTop] !== undefined; doScrollTop = finalScroll[_strScrollTop] !== undefined;
if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) { if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) {
if (durationIsObject) if (durationIsObject)
_viewportElement.animate(finalScroll, duration); _viewportElement.animate(finalScroll, duration);
else { else {
animationOptions = { animationOptions = {
+54 -54
View File
@@ -41,7 +41,7 @@
s : 'style', s : 'style',
i : 'id', i : 'id',
l : 'length', l : 'length',
p : 'prototype', p : 'prototype',
oH : 'offsetHeight', oH : 'offsetHeight',
cH : 'clientHeight', cH : 'clientHeight',
sH : 'scrollHeight', sH : 'scrollHeight',
@@ -213,12 +213,12 @@
// internal IsCallable function // internal IsCallable function
//throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); //throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
} }
var proto = LEXICON.p; var proto = LEXICON.p;
var aArgs = Array[proto].slice.call(arguments, 2); var aArgs = Array[proto].slice.call(arguments, 2);
var fNOP = function() {}; var fNOP = function() {};
var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); }; var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); };
if (func[proto]) if (func[proto])
fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property
fBound[proto] = new fNOP(); fBound[proto] = new fNOP();
@@ -617,7 +617,7 @@
if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y) if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y)
return; return;
var abs = Math.abs; var abs = Math.abs;
var windowWidth = compatibility.wW(); var windowWidth = compatibility.wW();
var windowHeight = compatibility.wH(); var windowHeight = compatibility.wH();
var windowDpr = getWindowDPR(); var windowDpr = getWindowDPR();
@@ -664,7 +664,7 @@
} }
}; };
function differenceIsBiggerThanOne(valOne, valTwo) { function differenceIsBiggerThanOne(valOne, valTwo) {
var absValOne = abs(valOne); var absValOne = abs(valOne);
var absValTwo = abs(valTwo); var absValTwo = abs(valTwo);
return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo);
@@ -719,7 +719,7 @@
var _base = this; var _base = this;
var _strAutoUpdate = 'autoUpdate'; var _strAutoUpdate = 'autoUpdate';
var _strAutoUpdateInterval = _strAutoUpdate + 'Interval'; var _strAutoUpdateInterval = _strAutoUpdate + 'Interval';
var _strLength = LEXICON.l; var _strLength = LEXICON.l;
var _loopingInstances = [ ]; var _loopingInstances = [ ];
var _loopingInstancesIntervalCache = [ ]; var _loopingInstancesIntervalCache = [ ];
@@ -828,7 +828,7 @@
//make correct instanceof //make correct instanceof
var _base = new window[PLUGINNAME](); var _base = new window[PLUGINNAME]();
var _frameworkProto = framework[LEXICON.p]; var _frameworkProto = framework[LEXICON.p];
//globals: //globals:
var _nativeScrollbarIsOverlaid; var _nativeScrollbarIsOverlaid;
@@ -1988,7 +1988,7 @@
* @param hostSizeChanged True if this method was called due to a host size change. * @param hostSizeChanged True if this method was called due to a host size change.
* @param contentSizeChanged True if this method was called due to a content size change. * @param contentSizeChanged True if this method was called due to a content size change.
* @param force True if every property shall be updated and the cache shall be ignored. * @param force True if every property shall be updated and the cache shall be ignored.
* @param preventSwallowing True if this method shall be executed event if it could be swallowed. * @param preventSwallowing True if this method shall be executed event if it could be swallowed.
*/ */
function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) {
var now = compatibility.now(); var now = compatibility.now();
@@ -2157,7 +2157,7 @@
_overflowBehaviorCache = extend(true, {}, overflowBehavior); _overflowBehaviorCache = extend(true, {}, overflowBehavior);
_textareaDynWidthCache = textareaDynWidth; _textareaDynWidthCache = textareaDynWidth;
_textareaDynHeightCache = textareaDynHeight; _textareaDynHeightCache = textareaDynHeight;
_hasOverflowCache = _hasOverflowCache || { x: false, y: false }; _hasOverflowCache = _hasOverflowCache || { x: false, y: false };
//set correct class name to the host element //set correct class name to the host element
if (classNameChanged) { if (classNameChanged) {
@@ -2331,8 +2331,8 @@
//set info for padding //set info for padding
_paddingX = padding.l + padding.r; _paddingX = padding.l + padding.r;
_paddingY = padding.t + padding.b; _paddingY = padding.t + padding.b;
padding.ax = paddingAbsolute ? _paddingX : 0; padding.ax = paddingAbsolute ? _paddingX : 0;
padding.ay = paddingAbsolute ? _paddingY : 0; padding.ay = paddingAbsolute ? _paddingY : 0;
padding.c = checkCacheTRBL(padding, _cssPaddingCache); padding.c = checkCacheTRBL(padding, _cssPaddingCache);
//set info for border //set info for border
@@ -2403,10 +2403,10 @@
if (cssMaxValue.cw) if (cssMaxValue.cw)
contentElementCSS[_strMaxMinus + _strHeight] = contentElementCSS[_strMaxMinus + _strHeight] =
(cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY)) (cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY))
: _strEmpty); : _strEmpty);
contentElementCSS[_strHeight] = _strAuto; contentElementCSS[_strHeight] = _strAuto;
} }
else if (heightAutoChanged || paddingAbsoluteChanged) { else if (heightAutoChanged || paddingAbsoluteChanged) {
contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty; contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty;
contentElementCSS[_strHeight] = _strHundredPercent; contentElementCSS[_strHeight] = _strHundredPercent;
} }
@@ -2415,11 +2415,11 @@
contentElementCSS[_strMaxMinus + _strWidth] = contentElementCSS[_strMaxMinus + _strWidth] =
(cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) + (cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) +
(_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0)
: _strEmpty); : _strEmpty);
contentElementCSS[_strWidth] = _strAuto; contentElementCSS[_strWidth] = _strAuto;
contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix
} }
else if (widthAutoChanged || paddingAbsoluteChanged) { else if (widthAutoChanged || paddingAbsoluteChanged) {
contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty; contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty;
contentElementCSS[_strWidth] = _strHundredPercent; contentElementCSS[_strWidth] = _strHundredPercent;
contentElementCSS[_strFloat] = _strEmpty; contentElementCSS[_strFloat] = _strEmpty;
@@ -3133,7 +3133,7 @@
*/ */
function initScrollbarInteractivity(isHorizontal) { function initScrollbarInteractivity(isHorizontal) {
var scrollbarVars = getScrollbarVars(isHorizontal); var scrollbarVars = getScrollbarVars(isHorizontal);
var insideIFrame = _windowElement.top !== _windowElement; var insideIFrame = _windowElement.top !== _windowElement;
var mouseDownScroll; var mouseDownScroll;
var mouseDownOffset; var mouseDownOffset;
var xy = scrollbarVars.xy; var xy = scrollbarVars.xy;
@@ -3149,7 +3149,7 @@
function decreaseTrackScrollAmount() { function decreaseTrackScrollAmount() {
scrollDurationFactor = 1; scrollDurationFactor = 1;
}; };
function documentKeyDown(event) { function documentKeyDown(event) {
if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
increaseTrackScrollAmount(); increaseTrackScrollAmount();
}; };
@@ -3163,10 +3163,10 @@
return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent; return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent;
}; };
function handleDragMove(event) { function handleDragMove(event) {
if(!onMouseTouchDownContinue(event)) { if(!onMouseTouchDownContinue(event)) {
documentMouseTouchUp(event); documentMouseTouchUp(event);
return; return;
} }
var trackLength = scrollbarVars.i.tl; var trackLength = scrollbarVars.i.tl;
var handleLength = scrollbarVars.i.hl; var handleLength = scrollbarVars.i.hl;
@@ -3205,12 +3205,12 @@
trackTimeout = undefined; trackTimeout = undefined;
} }
var rect = _hostElement[0].getBoundingClientRect(); var rect = _hostElement[0].getBoundingClientRect();
var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom;
//if mouse is outside host element //if mouse is outside host element
if (!mouseInsideHost) if (!mouseInsideHost)
hostOnMouseLeave(); hostOnMouseLeave();
if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove)
refreshScrollbarsAutoHide(false); refreshScrollbarsAutoHide(false);
@@ -3859,19 +3859,19 @@
_base.update = function (force) { _base.update = function (force) {
var attrsChanged; var attrsChanged;
var contentSizeC; var contentSizeC;
var isString = type(force) == TYPES.s; var isString = type(force) == TYPES.s;
var imgElementSelector = 'img'; var imgElementSelector = 'img';
var imgElementLoadEvent = 'load'; var imgElementLoadEvent = 'load';
if(isString) { if(isString) {
if (force.indexOf(_strAuto) === 0) { if (force.indexOf(_strAuto) === 0) {
attrsChanged = meaningfulAttrsChanged(); attrsChanged = meaningfulAttrsChanged();
contentSizeC = updateAutoContentSizeChanged(); contentSizeC = updateAutoContentSizeChanged();
if (attrsChanged || contentSizeC) if (attrsChanged || contentSizeC)
update(false, contentSizeC, false, force.slice(-1) == "+"); update(false, contentSizeC, false, force.slice(-1) == "+");
} }
else if (force === 'zoom') else if (force === 'zoom')
update(true, true); update(true, true);
} }
else { else {
force = _isSleeping || force; force = _isSleeping || force;
_isSleeping = false; _isSleeping = false;
@@ -4077,7 +4077,7 @@
* } * }
*/ */
_base.scroll = function (coordinates, duration, easing, complete) { _base.scroll = function (coordinates, duration, easing, complete) {
if (arguments.length === 0 || coordinates === undefined) { if (arguments.length === 0 || coordinates === undefined) {
var infoX = _scrollHorizontalInfo; var infoX = _scrollHorizontalInfo;
var infoY = _scrollVerticalInfo; var infoY = _scrollVerticalInfo;
var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i; var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i;
@@ -4130,7 +4130,7 @@
var strAlways = 'always'; var strAlways = 'always';
var strNever = 'never'; var strNever = 'never';
var strIfNeeded = 'ifneeded'; var strIfNeeded = 'ifneeded';
var strLength = LEXICON.l; var strLength = LEXICON.l;
var settingsAxis; var settingsAxis;
var settingsScroll; var settingsScroll;
var settingsBlock; var settingsBlock;
@@ -4185,9 +4185,9 @@
return rawScroll; return rawScroll;
}; };
var getFinalScroll = function (isX, rawScroll) { var getFinalScroll = function (isX, rawScroll) {
var isString = type(rawScroll) == TYPES.s; var isString = type(rawScroll) == TYPES.s;
if(isString) if(isString)
_base.update(_strAuto + "+"); _base.update(_strAuto + "+");
var operator; var operator;
var amount; var amount;
var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo;
@@ -4306,7 +4306,7 @@
}; };
if (possibleElementIsJQuery || possibleElementIsHTMLElement) { if (possibleElementIsJQuery || possibleElementIsHTMLElement) {
//get settings //get settings
var margin = coordinatesIsElementObj ? coordinates.margin : 0; var margin = coordinatesIsElementObj ? coordinates.margin : 0;
var axis = coordinatesIsElementObj ? coordinates.axis : 0; var axis = coordinatesIsElementObj ? coordinates.axis : 0;
var scroll = coordinatesIsElementObj ? coordinates.scroll : 0; var scroll = coordinatesIsElementObj ? coordinates.scroll : 0;
@@ -4318,7 +4318,7 @@
if (finalElement[strLength] === 0) if (finalElement[strLength] === 0)
return; return;
_base.update(_strAuto + "+"); _base.update(_strAuto + "+");
//margin can be [ boolean, number, array of 2, array of 4, object ] //margin can be [ boolean, number, array of 2, array of 4, object ]
if (marginType == TYPES.n || marginType == TYPES.b) if (marginType == TYPES.n || marginType == TYPES.b)
@@ -4343,16 +4343,16 @@
settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues); settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues);
settingsMargin = margin; settingsMargin = margin;
var viewportScroll = { var viewportScroll = {
l: _scrollHorizontalInfo.cs, l: _scrollHorizontalInfo.cs,
t: _scrollVerticalInfo.cs t: _scrollVerticalInfo.cs
}; };
// use padding element instead of viewport element because padding element has never padding, margin or position applied. // use padding element instead of viewport element because padding element has never padding, margin or position applied.
var viewportOffset = _paddingElement.offset(); var viewportOffset = _paddingElement.offset();
//get coordinates //get coordinates
var elementOffset = finalElement.offset(); var elementOffset = finalElement.offset();
var doNotScroll = { var doNotScroll = {
x : settingsScroll.x == strNever || settingsAxis == _strY, x : settingsScroll.x == strNever || settingsAxis == _strY,
y : settingsScroll.y == strNever || settingsAxis == _strX y : settingsScroll.y == strNever || settingsAxis == _strX
}; };
@@ -4373,11 +4373,11 @@
//measuring is required //measuring is required
if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) { if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) {
var measuringElm = finalElement[0]; var measuringElm = finalElement[0];
var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : { var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : {
width : measuringElm[LEXICON.oW], width : measuringElm[LEXICON.oW],
height : measuringElm[LEXICON.oH] height : measuringElm[LEXICON.oH]
}; };
var elementSize = { var elementSize = {
w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1], w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1],
h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2] h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2]
@@ -4432,7 +4432,7 @@
doScrollTop = finalScroll[_strScrollTop] !== undefined; doScrollTop = finalScroll[_strScrollTop] !== undefined;
if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) { if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) {
if (durationIsObject) if (durationIsObject)
_viewportElement.animate(finalScroll, duration); _viewportElement.animate(finalScroll, duration);
else { else {
animationOptions = { animationOptions = {