Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. import 'dart:async';
  2. import 'dart:html';
  3.  
  4. import 'package:angular/angular.dart';
  5.  
  6. @Directive(selector: '[my-button]')
  7. class MyButtonDirective {
  8. final StreamController<UIEvent> _trigger = new StreamController<UIEvent>();
  9.  
  10. @Input()
  11. bool disabled = false;
  12.  
  13. @Output()
  14. Stream<UIEvent> get trigger => _trigger.stream;
  15.  
  16. @HostListener('click', const [r'$event'])
  17. void onClick(MouseEvent event) {
  18. if (disabled) return;
  19. _trigger.add(event);
  20. }
  21.  
  22. @HostListener('keypress', const [r'$event'])
  23. void onKeyPress(KeyboardEvent event) {
  24. if (disabled) return;
  25. if (event.keyCode == KeyCode.ENTER) {
  26. _trigger.add(event);
  27. }
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement