![]() 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/old/vendor/magento/module-paypal/view/adminhtml/web/js/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'jquery', 'uiClass', 'Magento_Paypal/js/solution', 'underscore' ], function ($, Class, Solution, _) { 'use strict'; return Class.extend({ defaults: { /** * Initialized solutions */ solutions: {}, /** * The elements of created solutions */ solutionsElements: {}, /** * The selector element responsible for configuration of payment method (CSS class) */ buttonConfiguration: '.button.action-configure' }, /** * Constructor * * @param {Object} config * @returns {exports.initialize} */ initialize: function (config) { this.initConfig(config) .initSolutions(); return this; }, /** * Initialization and configuration solutions * * @returns {exports.initSolutions} */ initSolutions: function () { _.each(this.config.solutions, this.addSolution, this); this.initializeSolutions() .wipeButtonsConfiguration(); _.each(this.solutions, this.applicationRules); return this; }, /** * The creation and addition of the solution according to the configuration * * @param {Object} solution * @param {String} identifier */ addSolution: function (solution, identifier) { this.solutions[identifier] = new Solution({ config: solution, buttonConfiguration: this.buttonConfiguration }, identifier); this.solutionsElements[identifier] = this.solutions[identifier].$self; }, /** * Wiping buttons configuration of the payment method */ wipeButtonsConfiguration: function () { $(this.buttonConfiguration).removeClass('disabled') .prop('disabled', false); }, /** * Application of the rules * * @param {Object} solution */ applicationRules: function (solution) { _.each(solution.afterLoadRules, function (rule) { rule.apply(); }); }, /** * Initialize solutions * * @returns {exports.initializeSolutions} */ initializeSolutions: function () { _.each(this.solutions, function (solution) { solution.setSolutionsElements(this.solutionsElements) .initEvents() .addListeners(); }, this); return this; } }); });