Guest User

Untitled

a guest
Jul 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. ## Tagad ir
  2.  
  3. @Singleton
  4. public class ShowPersonPlace implements Place {
  5.  
  6. private final EventBus eventBus;
  7. private final PresenterProvider<PeoplePresenter> peoplePresenter;
  8. private final PresenterProvider<ShowPresenter> showPresenter;
  9.  
  10. @Inject
  11. public ShowPersonPlace(EventBus eventBus, Provider<PeoplePresenter> peoplePresenter, Provider<ShowPresenter> showPresenter) {
  12. this.eventBus = eventBus;
  13. this.peoplePresenter = create(PeoplePresenter.class, peoplePresenter);
  14. this.showPresenter = create(ShowPresenter.class, showPresenter);
  15. bind();
  16. }
  17.  
  18. private void bind() {
  19. eventBus.addHandler(ListClickEvent.getType(), new ListClickHandler() {
  20. public void onListClick(ListClickEvent event) {
  21. add(event.getKey());
  22. }
  23. });
  24.  
  25. eventBus.addHandler(ShowPersonEvent.getType(), new ShowPersonHandler() {
  26. public void onShowPerson(ShowPersonEvent event) {
  27. add(event.getKey());
  28. }
  29. });
  30. }
  31.  
  32. private void add(String key) {
  33. History.newItem("/person/show/" + key);
  34. }
  35.  
  36. public boolean manages(String token) {
  37. return token.startsWith("/person/show/");
  38. }
  39.  
  40. public void fire(GwtEvent<?> event) {
  41. eventBus.fireEvent(event);
  42. }
  43.  
  44. public void run(String token) {
  45. final String key = token.substring("/person/show/".length());
  46.  
  47. fire(new WorkspaceSetContentEvent(peoplePresenter, new Command() {
  48. public void execute() {
  49. fire(new MenuSetActiveEvent("people"));
  50. fire(new PeopleSetContentEvent(showPresenter, new Command() {
  51. public void execute() {
  52. fire(new ListSetActiveEvent(key));
  53. fire(new PersonShowEvent(key));
  54. }
  55. }));
  56. }
  57. }));
  58. }
  59.  
  60. }
  61.  
  62. ## Kaut kas tāds varētu būt
  63.  
  64. @Singleton
  65. public class ShowPersonPlace extends BasePlace {
  66.  
  67. private final PresenterProvider<PeoplePresenter> peoplePresenter;
  68. private final PresenterProvider<ShowPresenter> showPresenter;
  69.  
  70. @Inject
  71. public ShowPersonPlace(EventBus eventBus, Provider<PeoplePresenter> peoplePresenter, Provider<ShowPresenter> showPresenter) {
  72. super(eventBus);
  73. this.peoplePresenter = create(PeoplePresenter.class, peoplePresenter);
  74. this.showPresenter = create(ShowPresenter.class, showPresenter);
  75. }
  76.  
  77. @Override
  78. public String getRoute() {
  79. return "/person/show/{key}";
  80. }
  81.  
  82. @Override
  83. public void onBind() {
  84. handle(ListClickEvent.getType(), new ListClickHandler() {
  85. public void onListClick(ListClickEvent event) {
  86. navigateToPerson(event.getKey());
  87. }
  88. });
  89.  
  90. handle(ShowPersonEvent.getType(), new ShowPersonHandler() {
  91. public void onShowPerson(ShowPersonEvent event) {
  92. navigateToPerson(event.getKey());
  93. }
  94. });
  95. }
  96.  
  97. private void navigateToPerson(String key) {
  98. state().set("key", key).invoke();
  99. }
  100.  
  101. @Override
  102. public void handle(RouteHandlerContext ctx) {
  103. final String key = ctx.get("key");
  104.  
  105. fire(new WorkspaceSetContentEvent(peoplePresenter, new Command() {
  106. public void execute() {
  107. fire(new MenuSetActiveEvent("people"));
  108. fire(new PeopleSetContentEvent(showPresenter, new Command() {
  109. public void execute() {
  110. fire(new ListSetActiveEvent(key));
  111. fire(new PersonShowEvent(key));
  112. }
  113. }));
  114. }
  115. }));
  116. }
  117.  
  118. }
Add Comment
Please, Sign In to add comment