Modal.hx 972 B

123456789101112131415161718192021222324252627282930313233343536
  1. package hide.comp;
  2. class Modal extends Component {
  3. public var content(default,null) : Element;
  4. var downTarget : Dynamic;
  5. var upTarget : Dynamic;
  6. public function new(?parent,?el) {
  7. super(parent,el);
  8. element.addClass('hide-modal');
  9. element.on("click dblclick keydown keyup keypressed mousedown mouseup mousewheel",function(e) e.stopPropagation());
  10. content = new Element("<div class='content'></div>").appendTo(element);
  11. var exterior = [element[0], content[0]];
  12. element[0].addEventListener("mousedown", function(e) {
  13. downTarget = e.target;
  14. }, true);
  15. element[0].addEventListener("mouseup", function(e) {
  16. upTarget = e.target;
  17. }, true);
  18. element.on("click", function(e : js.jquery.Event) {
  19. if( exterior.contains(downTarget) && exterior.contains(upTarget) ) {
  20. modalClick(e);
  21. }
  22. });
  23. }
  24. public dynamic function modalClick(e: js.jquery.Event) {
  25. }
  26. public function close() {
  27. element.remove();
  28. }
  29. }