/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/web/mage/dataPost.js
102 строки
3 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
11 ноя 2025, 17:53
11 ноя 2025, 17:53
f22b64f
Код
Авторство
О чём код?
/** * Copyright 2014 Adobe * All Rights Reserved. */ 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; });