Kernel : Linux vmw02p.internet-indee.net 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Tue Nov 16 14:42:35 UTC 2021 x86_64
Disable function : NONE
Safe mode : OFF
Host : firofichi.it | Server ip : 5.196.164.15 | Your ip : 18.117.138.12 | Time @ Server : 19 Oct 2024 07:11:42
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/webmaster/firofichi/www/lib/web/mage/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/webmaster/firofichi/www/lib/web/mage/item-table.js

/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * @deprecated since version 2.2.0 */ define([ 'jquery', 'mage/template', 'jquery-ui-modules/widget' ], function ($, mageTemplate) { 'use strict'; $.widget('mage.itemTable', { options: { addBlock: '[data-template="add-block"]', addBlockData: {}, addEvent: 'click', addSelector: '[data-role="add"]', itemsSelector: '[data-container="items"]', keepLastRow: true }, /** * This method adds a new instance of the block to the items. * @private */ _add: function () { var hideShowDelete, deletableItems, addedBlock; // adding a new row, so increment the count to give each row a unique index this.rowIndex++; // make sure the block data has the rowIndex this.options.addBlockData.rowIndex = this.rowIndex; // render the form addedBlock = $(this.addBlockTmpl({ data: this.options.addBlockData })); // add the row to the item block this.element.find(this.options.itemsSelector).append(addedBlock); // initialize all mage content addedBlock.trigger('contentUpdated'); // determine all existing items in the collection deletableItems = this._getDeletableItems(); // for the most part, show the delete mechanism, except in the case where there is only one it should not // be deleted hideShowDelete = 'showDelete'; if (this.options.keepLastRow && deletableItems.length === 1) { hideShowDelete = 'hideDelete'; } // loop through each control and perform that action on the deletable item $.each(deletableItems, function (index) { $(deletableItems[index]).trigger(hideShowDelete); }); }, /** * This method binds elements found in this widget. * @private */ _bind: function () { var handlers = {}; // since the first handler is dynamic, generate the object using array notation handlers[this.options.addEvent + ' ' + this.options.addSelector] = '_add'; handlers.deleteItem = '_onDeleteItem'; this._on(handlers); }, /** * This method constructs a new widget. * @private */ _create: function () { this._bind(); this.addBlockTmpl = mageTemplate(this.options.addBlock); // nothing in the table, so indicate that this.rowIndex = -1; // make sure the block data is an object if (this.options.addBlockData == null || typeof this.options.addBlockData !== 'object') { // reset the block data to an empty object this.options.addBlockData = {}; } // add the first row to the table this._add(); }, /** * This method returns the list of widgets associated with deletable items from the container (direct children * only). * @private */ _getDeletableItems: function () { return this.element.find(this.options.itemsSelector + '> .deletableItem'); }, /** * This method removes the item associated with the message. * @private */ _onDeleteItem: function (e) { var deletableItems; // parent elements don't need to see this event e.stopPropagation(); // remove the deletable item $(e.target).remove(); if (this.options.keepLastRow) { // determine if there is only one element remaining, in which case, disable the delete mechanism on it deletableItems = this._getDeletableItems(); if (deletableItems.length === 1) { $(deletableItems[0]).trigger('hideDelete'); } } } }); return $.mage.itemTable; });