shipping-rate-service.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * Copyright © Magento, Inc. All rights reserved.
  3. * See COPYING.txt for license details.
  4. */
  5. define([
  6. 'Magento_Checkout/js/model/quote',
  7. 'Magento_Checkout/js/model/shipping-rate-processor/new-address',
  8. 'Magento_Checkout/js/model/shipping-rate-processor/customer-address'
  9. ], function (quote, defaultProcessor, customerAddressProcessor) {
  10. 'use strict';
  11. var processors = [];
  12. processors.default = defaultProcessor;
  13. processors['customer-address'] = customerAddressProcessor;
  14. quote.shippingAddress.subscribe(function () {
  15. var type = quote.shippingAddress().getType();
  16. if (processors[type]) {
  17. processors[type].getRates(quote.shippingAddress());
  18. } else {
  19. processors.default.getRates(quote.shippingAddress());
  20. }
  21. });
  22. return {
  23. /**
  24. * @param {String} type
  25. * @param {*} processor
  26. */
  27. registerProcessor: function (type, processor) {
  28. processors[type] = processor;
  29. }
  30. };
  31. });