Skip to content

Commit 9df3ecc

Browse files
author
Sergey Semenov
committed
MAGETWO-39086: Product Options' details are missed while adding to Wish List
1 parent c5e714b commit 9df3ecc

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

app/code/Magento/Wishlist/view/frontend/web/js/add-to-wishlist.js

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ define([
3232
this._on(events);
3333
},
3434
_updateWishlistData: function(event) {
35-
var dataToAdd = {};
35+
var dataToAdd = {},
36+
isFileUploaded = false;
3637
if (event.handleObj.selector == this.options.qtyInfo) {
3738
this._updateAddToWishlistButton({});
3839
event.stopPropagation();
@@ -41,20 +42,24 @@ define([
4142
var self = this;
4243
$(event.handleObj.selector).each(function(index, element){
4344
if ($(element).is('input[type=text]')
44-
|| $(element).is('textarea')) {
45+
|| $(element).is('input[type=checkbox]:checked')
46+
|| $(element).is('input[type=radio]:checked')
47+
|| $('#' + element.id + ' option:selected').length
48+
|| $(element).is('textarea')
49+
) {
4550
dataToAdd = $.extend({}, dataToAdd, self._getElementData(element));
4651
return;
4752
}
48-
if ($(element).is('input[type=file]')) {
53+
if ($(element).is('input[type=file]') && $(element).val()) {
4954
var hidden = $('input[name=' + $(element).attr('name') + '_action]');
5055
dataToAdd = $.extend({}, dataToAdd, self._getElementData(hidden));
51-
return;
52-
}
53-
if ($(element).is(':checked')
54-
|| $(element).find(':checked').length) {
55-
dataToAdd = $.extend({}, dataToAdd, self._getElementData(element));
56+
isFileUploaded = true;
5657
}
5758
});
59+
console.log(dataToAdd);
60+
if (isFileUploaded) {
61+
this.bindFormSubmit();
62+
}
5863
this._updateAddToWishlistButton(dataToAdd);
5964
event.stopPropagation();
6065
},
@@ -107,6 +112,23 @@ define([
107112
$.each(dataToRemove, function(key, value) {
108113
delete params.data[key];
109114
});
115+
},
116+
bindFormSubmit: function() {
117+
var self = this;
118+
$('[data-action="add-to-wishlist"]').on('click', function(event) {
119+
event.stopPropagation();
120+
event.preventDefault();
121+
122+
var element = $('input[type=file]' + self.options.customOptionsInfo),
123+
params = $(event.currentTarget).data('post'),
124+
form = $(element).closest('form'),
125+
action = params.action;
126+
if (params.data.uenc) {
127+
action += 'uenc/' + params.data.uenc;
128+
}
129+
130+
$(form).attr('action', action).submit();
131+
});
110132
}
111133
});
112134

0 commit comments

Comments
 (0)