gift-options.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. * Copyright © Magento, Inc. All rights reserved.
  3. * See COPYING.txt for license details.
  4. */
  5. /**
  6. * @api
  7. */
  8. define([
  9. 'Magento_GiftMessage/js/model/url-builder',
  10. 'mage/storage',
  11. 'Magento_Ui/js/model/messageList',
  12. 'Magento_Checkout/js/model/error-processor',
  13. 'mage/url',
  14. 'Magento_Checkout/js/model/quote',
  15. 'underscore'
  16. ], function (urlBuilder, storage, messageList, errorProcessor, url, quote, _) {
  17. 'use strict';
  18. return function (giftMessage, remove) {
  19. var serviceUrl;
  20. url.setBaseUrl(giftMessage.getConfigValue('baseUrl'));
  21. if (giftMessage.getConfigValue('isCustomerLoggedIn')) {
  22. serviceUrl = urlBuilder.createUrl('/carts/mine/gift-message', {});
  23. if (giftMessage.itemId != 'orderLevel') { //eslint-disable-line eqeqeq
  24. serviceUrl = urlBuilder.createUrl('/carts/mine/gift-message/:itemId', {
  25. itemId: giftMessage.itemId
  26. });
  27. }
  28. } else {
  29. serviceUrl = urlBuilder.createUrl('/guest-carts/:cartId/gift-message', {
  30. cartId: quote.getQuoteId()
  31. });
  32. if (giftMessage.itemId != 'orderLevel') { //eslint-disable-line eqeqeq
  33. serviceUrl = urlBuilder.createUrl(
  34. '/guest-carts/:cartId/gift-message/:itemId',
  35. {
  36. cartId: quote.getQuoteId(), itemId: giftMessage.itemId
  37. }
  38. );
  39. }
  40. }
  41. messageList.clear();
  42. storage.post(
  43. serviceUrl,
  44. JSON.stringify({
  45. 'gift_message': giftMessage.getSubmitParams(remove)
  46. })
  47. ).done(function () {
  48. giftMessage.reset();
  49. _.each(giftMessage.getAfterSubmitCallbacks(), function (callback) {
  50. if (_.isFunction(callback)) {
  51. callback();
  52. }
  53. });
  54. }).fail(function (response) {
  55. errorProcessor.process(response);
  56. });
  57. };
  58. });