I have a modal created when user clicks on Add to Cart button and there are couple of products that are shown in that modal and their corresponding Add to Cart buttons. Now I want to close the Modal when user adds the product from that modal. How can I achieve this?
I have _hide()
function in that modal.
//modal-form.js
define(
[
'jquery',
'Magento_Ui/js/modal/modal'
],
function($) {
"use strict";
//creating jquery widget
$.widget('mage.modalForm', {
options: {
modalForm: '#modal-lens-form',
modalButton: '.open-modal-form'
},
_create: function() {
this.options.modalOption = this._getModalOptions();
this._bind();
this._hide();
},
_getModalOptions: function() {
/**
* Modal options
*/
var options = {
type: 'popup',
responsive: true,
title: 'Select Product'
// ,
// buttons: [{
// text: $.mage.__('Continue'),
// class: '',
// click: function () {
// this.closeModal();
// }
// }]
};
return options;
},
_bind: function(){
var modalOption = this.options.modalOption;
var modalForm = this.options.modalForm;
$(document).on('click', this.options.modalButton, function(){
if ($('#product_addtocart_form').valid()) { //Open modal only if validation passes on base product form
//Initialize modal
$(modalForm).modal(modalOption);
//open modal
$(modalForm).trigger('openModal');
}
});
},
_hide: function(){
$(this.options.modalForm).hide();
}
}
);
return $.mage.modalForm;
}
);
When the product is successfully added to the cart, I want to add code in my custom catalog-add-to-cart.js file to automatically close that modal. How to call above hide function, or closeModal() from different js file?