![]() 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/mage/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'jquery', 'mage/template', 'Magento_Ui/js/modal/confirm', 'jquery-ui-modules/widget' ], function ($, mageTemplate, uiConfirm) { 'use strict'; $.widget('mage.dataPost', { options: { formTemplate: '<form action="<%- data.action %>" method="post">' + '<% _.each(data.data, function(value, index) { %>' + '<input name="<%- index %>" value="<%- value %>">' + '<% }) %></form>', postTrigger: ['a[data-post]', 'button[data-post]', 'span[data-post]'], formKeyInputSelector: 'input[name="form_key"]' }, /** @inheritdoc */ _create: function () { this._bind(); }, /** @inheritdoc */ _bind: function () { var events = {}; $.each(this.options.postTrigger, function (index, value) { events['click ' + value] = '_postDataAction'; }); this._on(events); }, /** * Handler for click. * * @param {Object} e * @private */ _postDataAction: function (e) { var params = $(e.currentTarget).data('post'); e.preventDefault(); this.postData(params); }, /** * Data post action. * * @param {Object} params */ postData: function (params) { var formKey = $(this.options.formKeyInputSelector).val(), $form, input; if (formKey) { params.data['form_key'] = formKey; } $form = $(mageTemplate(this.options.formTemplate, { data: params })); if (params.files) { $form[0].enctype = 'multipart/form-data'; $.each(params.files, function (key, files) { if (files instanceof FileList) { input = document.createElement('input'); input.type = 'file'; input.name = key; input.files = files; $form[0].appendChild(input); } }); } if (params.data.confirmation) { uiConfirm({ content: params.data.confirmationMessage, actions: { /** @inheritdoc */ confirm: function () { $form.appendTo('body').hide().trigger('submit'); } } }); } else { $form.appendTo('body').hide().trigger('submit'); } } }); $(document).dataPost(); return $.mage.dataPost; });