Advertisement
Guest User

Untitled

a guest
Jul 30th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. (function ($) {
  2. var DasBtnResponse = {
  3. Close: "close",
  4. CloseNegative: "negative-close",
  5. ClosePositive: "positive-close"
  6. }
  7. var methods = {
  8. init : function (options) {
  9. var self = this;
  10. var settings = $.extend({
  11. closeable: true,
  12. size: "medium",
  13. }, options || {});
  14. this.each(function () {
  15. self.data('plugin', settings);
  16. });
  17. methods.setup(this);
  18. methods.setupButtons(this.find(".DasBtn"));
  19. return this;
  20. },
  21. setup : function (elem) { //Set up the nav DOM elements
  22. $data = elem.data('plugin');
  23. self.wrapper = $("<div />")
  24. .addClass("DasModalWrapper")
  25. .click(function(e){
  26. if (e.target === this && $data.closeable)
  27. $(this).hide();
  28. })
  29. elem.replaceWith(wrapper);
  30. wrapper.append(elem);
  31. if ($data.closeable){
  32. close = $("<div />")
  33. .addClass("DasClose")
  34. .html('&#215')
  35. .click(function(e){
  36. wrapper.hide()
  37. })
  38. .prependTo(elem.find('.DasModalHeader'));
  39. }
  40. },
  41. open: function (elem){
  42. $(elem).parent('.DasModalWrapper').addClass('open');
  43. },
  44. setupButtons : function (btns){
  45. btns.each(function(i, obj) {
  46. $btn = $(obj);
  47. switch($btn.data('response')) {
  48. case DasBtnResponse.Close:
  49. $btn.on("click", function(){alert("close")})
  50. break;
  51. case DasBtnResponse.CloseNegative:
  52. $btn.on("click", function(){alert("negative")})
  53. break;
  54. case DasBtnResponse.ClosePositive:
  55. $btn.on("click", function(){alert("positive")})
  56. break;
  57. default:
  58. break;
  59. }
  60. });
  61. }
  62. };
  63. $.fn.initModal = function () {
  64. methods.init.apply(this, arguments);
  65. }
  66. $.fn.openModal = function () {
  67. methods.open(this);
  68. }
  69. })(jQuery);
  70.  
  71. $(function(){
  72. $("#modal").initModal({
  73. closeable : true
  74. });
  75. })
  76. $(document).on("click", "#launchModal", function(){
  77. $("#modal").openModal();
  78. });
  79.  
  80. <div id = "modal" class="DasModal">
  81. <div class="DasModalHeader"></div>
  82. <div class="DasModalBody"></div>
  83. <div class="DasModalFooter">
  84. <div class="DasBtn btnDefault" data-response="close">Cancel</div>
  85. <div class="DasBtn btnNegative" data-response="negative-close">No</div>
  86. <div class="DasBtn btnPositive" data-response="positive-close">Ok</div>
  87. </div>
  88. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement