save-with-confirm.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. *
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. define([
  7. 'jquery',
  8. 'Magento_Backend/js/validate-store'
  9. ], function ($, validateStore) {
  10. 'use strict';
  11. $.widget('mage.saveWithConfirm', validateStore, {
  12. /**
  13. * Check is it need to show confirmation popup
  14. *
  15. * @returns {Boolean}
  16. */
  17. _needConfirm: function () {
  18. var storeData = this.settings.storeData,
  19. /* edit store view*/
  20. storeViewEdit = $('[name="store[store_id]"]').length,
  21. groupId = $('[name="store[group_id]"]').val(),
  22. isNewStoreView = !$('[name="store[store_id]"]').val(),
  23. /* edit store */
  24. storeEdit = $('[name="group[group_id]"]').length,
  25. storeId = $('[name="group[group_id]"]').val(),
  26. rootCategoryId = $('[name="group[root_category_id]"]').val(),
  27. defaultStoreView = $('[name="group[default_store_id]"]').val(),
  28. /* edit website */
  29. websiteEdit = $('[name="website[website_id]"]').length,
  30. defaultStore = $('[name="website[default_group_id]"]').val(),
  31. /* conditions */
  32. storeViewUpdated = storeViewEdit && (isNewStoreView || storeData['group_id'] !== groupId),
  33. storeUpdated = storeEdit && storeId &&
  34. (rootCategoryId !== null && storeData['root_category_id'] !== rootCategoryId ||
  35. defaultStoreView !== null && storeData['default_store_id'] !== defaultStoreView),
  36. websiteUpdated = websiteEdit && defaultStore !== null && storeData['default_group_id'] !== defaultStore;
  37. return storeViewUpdated || storeUpdated || websiteUpdated;
  38. }
  39. });
  40. return $.mage.saveWithConfirm;
  41. });