![]() 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/blank/en_US/Magento_Ui/js/grid/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * @api */ define([ 'jquery', 'underscore', 'uiElement' ], function ($, _, Element) { 'use strict'; return Element.extend({ defaults: { template: 'ui/grid/exportButton', selectProvider: 'ns = ${ $.ns }, index = ids', checked: '', additionalParams: [], modules: { selections: '${ $.selectProvider }' } }, /** @inheritdoc */ initialize: function () { this._super() .initChecked(); }, /** @inheritdoc */ initConfig: function () { this._super(); _.each(this.additionalParams, function (value, key) { key = 'additionalParams.' + key; this.imports[key] = value; }, this); return this; }, /** @inheritdoc */ initObservable: function () { this._super() .observe('checked'); return this; }, /** * Checks first option if checked not defined. * * @returns {Object} */ initChecked: function () { if (!this.checked()) { this.checked( this.options[0].value ); } return this; }, /** * Compose params object that will be added to request. * * @returns {Object} */ getParams: function () { var selections = this.selections(), data = selections ? selections.getSelections() : null, itemsType, result = {}; if (data) { itemsType = data.excludeMode ? 'excluded' : 'selected'; result.filters = data.params.filters; result.search = data.params.search; result.namespace = data.params.namespace; result[itemsType] = data[itemsType]; _.each(this.additionalParams, function (param, key) { result[key] = param; }); if (!result[itemsType].length) { result[itemsType] = false; } } return result; }, /** * Find checked option. * * @returns {Object} */ getActiveOption: function () { return _.findWhere(this.options, { value: this.checked() }); }, /** * Build option url. * * @param {Object} option * @returns {String} */ buildOptionUrl: function (option) { var params = this.getParams(); if (!params) { return 'javascript:void(0);'; } return option.url + '?' + $.param(params); //TODO: MAGETWO-40250 }, /** * Redirect to built option url. */ applyOption: function () { var option = this.getActiveOption(), url = this.buildOptionUrl(option); location.href = url; } }); });