abp.sweet-alert.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. var abp = abp || {};
  2. (function ($) {
  3. if (!sweetAlert || !$) {
  4. return;
  5. }
  6. /* DEFAULTS *************************************************/
  7. abp.libs = abp.libs || {};
  8. abp.libs.sweetAlert = {
  9. config: {
  10. 'default': {
  11. },
  12. info: {
  13. type: 'info'
  14. },
  15. success: {
  16. type: 'success'
  17. },
  18. warning: {
  19. type: 'warning'
  20. },
  21. error: {
  22. type: 'error'
  23. },
  24. confirm: {
  25. title: 'Are you sure?',
  26. type: 'warning',
  27. showCancelButton: true,
  28. /*confirmButtonColor: '#3085d6',
  29. cancelButtonColor: '#d33',*/
  30. confirmButtonText: abp.localization
  31. .iwbZero("Confirm"),
  32. cancelButtonText: abp.localization
  33. .iwbZero("Cancel")
  34. }
  35. }
  36. };
  37. /* MESSAGE **************************************************/
  38. var showMessage = function (type, message, title) {
  39. if (!title) {
  40. title = message;
  41. message = undefined;
  42. }
  43. var opts = $.extend(
  44. {},
  45. abp.libs.sweetAlert.config['default'],
  46. abp.libs.sweetAlert.config[type],
  47. {
  48. title: title,
  49. text: message
  50. }
  51. );
  52. return $.Deferred(function ($dfd) {
  53. sweetAlert(opts).then(function () {
  54. $dfd.resolve();
  55. });
  56. });
  57. };
  58. abp.message.info = function (message, title) {
  59. return showMessage('info', message, title);
  60. };
  61. abp.message.success = function (message, title) {
  62. title = title || "Success";
  63. return showMessage('success', message, title);
  64. };
  65. abp.message.warn = function (message, title) {
  66. title = title || "Warning";
  67. return showMessage('warning', message, title);
  68. };
  69. abp.message.error = function (message, title) {
  70. title = title || "Error";
  71. return showMessage('error', message, title);
  72. };
  73. abp.message.confirm = function (message, titleOrCallback, callback) {
  74. var userOpts = {
  75. text: message
  76. };
  77. if ($.isFunction(titleOrCallback)) {
  78. callback = titleOrCallback;
  79. } else if (titleOrCallback) {
  80. userOpts.title = titleOrCallback;
  81. };
  82. var opts = $.extend(
  83. {},
  84. abp.libs.sweetAlert.config['default'],
  85. abp.libs.sweetAlert.config.confirm,
  86. userOpts,
  87. opts
  88. );
  89. return $.Deferred(function ($dfd) {
  90. sweetAlert(opts).then(function (result) {
  91. if (result.value) {
  92. callback && callback(result);
  93. }
  94. $dfd.resolve(result);
  95. });
  96. });
  97. };
  98. abp.event.on('abp.dynamicScriptsInitialized', function () {
  99. abp.libs.sweetAlert.config.confirm.title = abp.localization.abpWeb('AreYouSure');
  100. abp.libs.sweetAlert.config.confirm.buttons = [abp.localization.abpWeb('Cancel'), abp.localization.abpWeb('Yes')];
  101. });
  102. })(jQuery);