b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / lib / web / mage /
Filename/home/dev2.destoffenstraat.com/lib/web/mage/dataPost.js
Size2.83 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified28-Jan-2025 06:45
Last accessed23-Aug-2025 04:37
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
/**
* 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().submit();
}
}
});
} else {
$form.appendTo('body').hide().submit();
}
}
});

$(document).dataPost();

return $.mage.dataPost;
});