shipping-rates-validation-rules.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * Copyright © Magento, Inc. All rights reserved.
  3. * See COPYING.txt for license details.
  4. */
  5. /**
  6. * @api
  7. */
  8. define(['jquery'], function ($) {
  9. 'use strict';
  10. var ratesRules = {},
  11. checkoutConfig = window.checkoutConfig;
  12. return {
  13. /**
  14. * @param {String} carrier
  15. * @param {Object} rules
  16. */
  17. registerRules: function (carrier, rules) {
  18. if (checkoutConfig.activeCarriers.indexOf(carrier) !== -1) {
  19. ratesRules[carrier] = rules.getRules();
  20. }
  21. },
  22. /**
  23. * @return {Object}
  24. */
  25. getRules: function () {
  26. return ratesRules;
  27. },
  28. /**
  29. * @return {Array}
  30. */
  31. getObservableFields: function () {
  32. var self = this,
  33. observableFields = [];
  34. $.each(self.getRules(), function (carrier, fields) {
  35. $.each(fields, function (field) {
  36. if (observableFields.indexOf(field) === -1) {
  37. observableFields.push(field);
  38. }
  39. });
  40. });
  41. return observableFields;
  42. }
  43. };
  44. });