![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/pub/static/frontend/Magento/luma/en_US/mage/backend/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'jquery', 'jquery/ui' ], function ($) { 'use strict'; $.widget('mage.floatingHeader', { options: { placeholderAttrs: { 'class': 'page-actions-placeholder' }, fixedClass: '_fixed', hiddenClass: '_hidden', title: '.page-title-wrapper .page-title', pageMainActions: '.page-main-actions', contains: '[data-role=modal]' }, /** * Widget initialization * @private */ _create: function () { var title = $(this.options.title).text(), wrapped = this.element.find('.page-actions-buttons').children(); if (this.element.parents(this.options.contains).length) { return this; } this._setVars(); this._bind(); this.element.find('script').remove(); if (wrapped.length) { wrapped .unwrap() // .page-actions-buttons .unwrap(); // .page-actions-inner } this.element.wrapInner($('<div></div>', { 'class': 'page-actions-buttons' })); this.element.wrapInner($('<div></div>', { 'class': 'page-actions-inner', 'data-title': title })); this.element.removeClass('floating-header'); }, /** * Set privat variables on load, for performance purposes * @private */ _setVars: function () { this._placeholder = this.element.before($('<div/>', this.options.placeholderAttrs)).prev(); this._offsetTop = this._placeholder.offset().top; this._height = this.element .parents(this.options.pageMainActions) .outerHeight(); }, /** * Event binding, will monitor scroll and resize events (resize events left for backward compat) * @private */ _bind: function () { this._on(window, { scroll: this._handlePageScroll, resize: this._handlePageScroll }); }, /** * Event handler for setting fixed positioning * @private */ _handlePageScroll: function () { var isActive = $(window).scrollTop() > this._offsetTop; if (isActive) { this.element .addClass(this.options.fixedClass) .parents(this.options.pageMainActions) .addClass(this.options.hiddenClass); } else { this.element .removeClass(this.options.fixedClass) .parents(this.options.pageMainActions) .removeClass(this.options.hiddenClass); } this._placeholder.height(isActive ? this._height : ''); }, /** * Widget destroy functionality * @private */ _destroy: function () { if (this._placeholder) { this._placeholder.remove(); } this._off($(window)); } }); return $.mage.floatingHeader; });