alert.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. define(['$', 'template','product'], function ($, template,product) {
  2. return {
  3. body: '',
  4. init: function (pageData, dtd) {
  5. var $view = this;
  6. var $doc = $(document);
  7. $.newTouch('button', function (event) {
  8. if($(this).html()==="查看"){
  9. event.preventDefault();
  10. $doc.trigger('spa:navigate', {
  11. hash: 'myCoupon',
  12. pushData: {
  13. needReload: true
  14. }
  15. });
  16. }
  17. event.stopPropagation();
  18. event.preventDefault();
  19. var buttonIndex = $(this).data('button-index');
  20. var pushData = pageData.pushData;
  21. if (pushData.buttons && pushData.buttons[buttonIndex] && $.isFunction(pushData.buttons[buttonIndex].callback)) {
  22. pushData.buttons[buttonIndex].callback();
  23. }
  24. $view.trigger('spa:closepanel');
  25. }, $view);
  26. $.newTouch('.newTouch')
  27. dtd.resolve();
  28. },
  29. beforeopen: function (pageData, dtd) {
  30. var $view = this;
  31. var pushData = pageData.pushData;
  32. var buttons = pushData.buttons ? pushData.buttons : [{text: '我知道了', class: 'btn-primary'}];
  33. var html = pushData.html ? pushData.html : '';
  34. $('.spa-page-bg', $view).css({
  35. opacity: 0
  36. }).transition({
  37. opacity: 0.6
  38. });
  39. var tpl = template('common/alert', {
  40. title: pushData.title,
  41. message: pushData.message,
  42. html: html,
  43. buttons: buttons
  44. });
  45. $view.find('.spa-page-body').html(tpl);
  46. // $view.find('.alert-body').css({'pointer-events' : 'none'});
  47. dtd.resolve();
  48. },
  49. beforeclose: function (panelData, dtd) {
  50. var $view = this;
  51. $('.spa-page-bg', $view).transition({
  52. opacity: 0
  53. });
  54. setTimeout(function(){
  55. $view.find('.alert-body').css({'pointer-events' : true});
  56. }, 100);
  57. dtd.resolve();
  58. }
  59. }
  60. })