How to: Call parent function from mixin in Magento 2
Mixin declaration.
File: vendor/magento/module-checkout-agreements/view/frontend/requirejs-config.js
* Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ /*jshint browser:true jquery:true*/ /*global alert*/ var config = { config: { mixins: { 'Magento_Checkout/js/action/place-order': { 'Magento_CheckoutAgreements/js/model/place-order-mixin': true }, 'Magento_Checkout/js/action/set-payment-information': { 'Magento_CheckoutAgreements/js/model/set-payment-information-mixin': true } } } };
Call parent function from mixin.
File: vendor/magento/module-checkout-agreements/view/frontend/web/js/model/set-payment-information-mixin.js
/** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ /*jshint browser:true jquery:true*/ /*global alert*/ define([ 'jquery', 'mage/utils/wrapper', 'Magento_CheckoutAgreements/js/model/agreements-assigner' ], function ($, wrapper, agreementsAssigner) { 'use strict'; return function (placeOrderAction) { /** Override place-order-mixin for set-payment-information action as they differs only by method signature */ return wrapper.wrap(placeOrderAction, function (originalAction, messageContainer, paymentData) { agreementsAssigner(paymentData); return originalAction(messageContainer, paymentData); }); }; });
Leave a Reply