How to: Call parent function from mixin in Magento 2

Mixin declaration.
File: vendor/magento/module-checkout-agreements/view/frontend/requirejs-config.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | * 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /** * 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