@openui5/sap.ui.core
Version:
OpenUI5 Core Library sap.ui.core
83 lines (74 loc) • 2.44 kB
JavaScript
/*!
* OpenUI5
* (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
*/
/*
* IMPORTANT: This is a private module, its API must not be used and is subject to change.
* Code other than the OpenUI5 libraries must not introduce dependencies to this module.
*/
sap.ui.define(['sap/ui/thirdparty/jquery'], function(jQuery) {
"use strict";
/**
* This module provides the {@link jQuery#zIndex} API.
*
* @namespace
* @name module:sap/ui/dom/jquery/zIndex
* @public
* @since 1.58
*/
// Using "Object.getOwnPropertyDescriptor" to not trigger the "getter" - see jquery.sap.stubs
function getValue(oTarget, sProperty) {
var descriptor = Object.getOwnPropertyDescriptor(oTarget, sProperty);
return descriptor && descriptor.value;
}
if (!getValue(jQuery.fn, "zIndex")) {
/**
* Get (if no zIndex parameter is given) or set the z-index for an element.
*
* @param {int} [zIndex] The z-index to set
* @returns {jQuery | number} The z-index
* @public
* @name jQuery#zIndex
* @function
* @requires module:sap/ui/dom/jquery/zIndex
*/
var fnzIndex = function( zIndex ) {
if ( zIndex !== undefined ) {
return this.css( "zIndex", zIndex );
}
if ( this.length ) {
var elem = jQuery( this[ 0 ] ), position, value;
while ( elem.length && elem[ 0 ] !== document ) {
// Ignore z-index if position is set to a value where z-index is ignored by the browser
// This makes behavior of this function consistent across browsers
// WebKit always returns auto if the element is positioned
position = elem.css( "position" );
if ( position === "absolute" || position === "relative" || position === "fixed" ) {
// we ignore the case of nested elements with an explicit value of 0
// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
value = parseInt( elem.css( "zIndex" ));
if ( !isNaN( value ) && value !== 0 ) {
return value;
}
}
elem = elem.parent();
}
}
return 0;
};
/*!
* The following function is taken from
* jQuery UI Core 1.11.1
* http://jqueryui.com
*
* Copyright 2014 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/ui-core/
*/
jQuery.fn.zIndex = fnzIndex;
}
return jQuery;
});