Package org.eurekastreams.web.client.events

Examples of org.eurekastreams.web.client.events.EventBus


     * {@inheritDoc}
     */
    @Override
    public void show()
    {
        final EventBus eventBus = Session.getInstance().getEventBus();
        if (groups == null)
        {
            eventBus.addObserver(GotPersonJoinedGroupsResponseEvent.class,
                    new Observer<GotPersonJoinedGroupsResponseEvent>()
                    {
                        public void update(final GotPersonJoinedGroupsResponseEvent event)
                        {
                            eventBus.removeObserver(event, this);

                            groups = event.getResponse();
                            if (subscribedGroupIds != null)
                            {
                                populate();
                            }
                        }
                    });
            PersonJoinedGroupsModel.getInstance().fetch(
                    new GetFollowersFollowingRequest(EntityType.GROUP, Session.getInstance().getCurrentPerson()
                            .getAccountId(), 0, Integer.MAX_VALUE), true);
        }
        if (subscribedGroupIds == null)
        {
            eventBus.addObserver(GotGroupActivitySubscriptionsResponseEvent.class,
                    new Observer<GotGroupActivitySubscriptionsResponseEvent>()
                    {
                        public void update(final GotGroupActivitySubscriptionsResponseEvent event)
                        {
                            eventBus.removeObserver(event, this);

                            subscribedGroupIds = event.getResponse();
                            if (groups != null)
                            {
                                populate();
View Full Code Here


     *
     * @return The tab.
     */
    private PagedListPanel buildPanel()
    {
        final EventBus eventBus = Session.getInstance().getEventBus();
        final String flaggedActivitiesFilterName = "Flagged Activities";
        final String pendingGroupsFilterName = "Group Requests";

        // set up the tab itself
        final PagedListPanel adminTabContent = new PagedListPanel("pending", new SingleColumnPagedListRenderer(),
                "tab", "Pending");
        adminTabContent.addStyleName(StaticResourceBundle.INSTANCE.coreCss().pendingTabContent());

        // wire up the data retrieval events
        eventBus.addObserver(GotFlaggedActivitiesResponseEvent.class, new Observer<GotFlaggedActivitiesResponseEvent>()
        {
            public void update(final GotFlaggedActivitiesResponseEvent event)
            {
                if (flaggedActivitiesFilterName.equals(adminTabContent.getCurrentFilter()))
                {
                    adminTabContent.render(event.getResponse(), "No flagged activities.");
                }
                flaggedActivityCount = event.getResponse().getTotal();
                adminTabContent.setFilterTitle(flaggedActivitiesFilterName, "Flagged Activities ("
                        + flaggedActivityCount + ")");
                setTitle("Pending (" + (flaggedActivityCount + pendingGroupCount) + ")");
            }
        });

        eventBus.addObserver(GotPendingGroupsResponseEvent.class, new Observer<GotPendingGroupsResponseEvent>()
        {
            public void update(final GotPendingGroupsResponseEvent event)
            {
                if (pendingGroupsFilterName.equals(adminTabContent.getCurrentFilter()))
                {
                    adminTabContent.render(event.getResponse(), "No pending group requests.");
                }
                pendingGroupCount = event.getResponse().getTotal();
                adminTabContent.setFilterTitle(pendingGroupsFilterName, "Group Requests (" + pendingGroupCount + ")");
                setTitle("Pending (" + (flaggedActivityCount + pendingGroupCount) + ")");
            }
        });

        // request the data to get the counts
        // We need the counts for both of the lists, but at most one list will perform an initial data load, we need to
        // force the load. (Only the list which is visible will load; if the tab is inactive then there are zero
        // visible lists.)
        FlaggedActivityModel.getInstance().fetch(new GetFlaggedActivitiesRequest(0, 1), false);
        PendingGroupsModel.getInstance().fetch(new GetPendingGroupsRequest(0, 1), false);

        // wire up events to refresh the list when something is removed
        eventBus.addObserver(UpdatedActivityFlagResponseEvent.class, new Observer<UpdatedActivityFlagResponseEvent>()
        {
            public void update(final UpdatedActivityFlagResponseEvent ev)
            {
                eventBus.notifyObservers(new ShowNotificationEvent(new Notification(
                        "The flagged activity has been allowed")));
                adminTabContent.reload();
            }
        });

        eventBus.addObserver(UpdatedReviewPendingGroupResponseEvent.class,
                new Observer<UpdatedReviewPendingGroupResponseEvent>()
                {
                    public void update(final UpdatedReviewPendingGroupResponseEvent ev)
                    {
                        adminTabContent.reload();
                    }
                });

        eventBus.addObserver(DeletedActivityResponseEvent.class, new Observer<DeletedActivityResponseEvent>()
        {
            public void update(final DeletedActivityResponseEvent ev)
            {
                adminTabContent.reload();
            }
View Full Code Here

            {
                // clear following model
                CurrentUserPersonFollowingStatusModel.getInstance().clearCache();
                StreamsDiscoveryModel.getInstance().clearCache();

                EventBus eventBus = Session.getInstance().getEventBus();
                eventBus.notifyObservers(new InsertedPersonFollowerResponseEvent(request, response));

                eventBus.notifyObservers(new GotPersonFollowerStatusResponseEvent(FollowerStatus.FOLLOWING));
            }
        });
    }
View Full Code Here

            {
                // clear following model
                CurrentUserPersonFollowingStatusModel.getInstance().clearCache();
                StreamsDiscoveryModel.getInstance().clearCache();

                EventBus eventBus = Session.getInstance().getEventBus();
                eventBus.notifyObservers(new DeletedPersonFollowerResponseEvent(request, response));

                eventBus.notifyObservers(new GotPersonFollowerStatusResponseEvent(FollowerStatus.NOTFOLLOWING));
            }
        });
    }
View Full Code Here

            {
                if (hasFormChanged())
                {
                    if (new WidgetJSNIFacadeImpl().confirm("The form has been changed. Do you wish to save changes?"))
                    {
                        EventBus eventBus = Session.getInstance().getEventBus();
                        eventBus.notifyObservers(new PreventHistoryChangeEvent());
                        eventBus.notifyObservers(new SubmitFormIfChangedEvent());
                    }
                }
            }
        };
View Full Code Here

     */
    public void wireEventHandlers()
    {
        if (!eventsWired)
        {
            final EventBus eventBus = Session.getInstance().getEventBus();
            eventBus.addObserver(ValidationExceptionResponseEvent.class, validationExceptionResponseHandler);
            eventBus.addObserver(ExceptionResponseEvent.class, exceptionResponseHandler);
            eventBus.addObserver(PreSwitchedHistoryViewEvent.class, preSwitchedHistoryViewHandler);
            eventBus.addObserver(SubmitFormIfChangedEvent.class, submitFormIfChangedHandler);
            eventsWired = true;
        }
    }
View Full Code Here

     */
    public void unwireEventHandlers()
    {
        if (eventsWired)
        {
            final EventBus eventBus = Session.getInstance().getEventBus();
            eventBus.removeObserver(ValidationExceptionResponseEvent.class, validationExceptionResponseHandler);
            eventBus.removeObserver(ExceptionResponseEvent.class, exceptionResponseHandler);
            eventBus.removeObserver(PreSwitchedHistoryViewEvent.class, preSwitchedHistoryViewHandler);
            eventBus.removeObserver(SubmitFormIfChangedEvent.class, submitFormIfChangedHandler);
            eventsWired = false;
        }
    }
View Full Code Here

                .globalSearchResultsAutocompleteResults());

        add(resultsPanelContainer);
        resultsPanelContainer.add(resultsPanel);

        final EventBus eventBus = Session.getInstance().getEventBus();

        final GlobalSearchComposite thisClass = this;

        searchTerm.addKeyUpHandler(new KeyUpHandler()
        {
            public void onKeyUp(final KeyUpEvent ev)
            {
                if (ev.getNativeKeyCode() == KeyCodes.KEY_ENTER && !ev.isAnyModifierKeyDown()
                        && searchTerm.getText().length() > 0 && activeItem != null)
                {
                    activeItem.getElement().dispatchEvent(
                            Document.get().createClickEvent(1, 0, 0, 0, 0, false, false, false, false));
                    clearSearch();

                }
                else if (ev.getNativeKeyCode() == KeyCodes.KEY_DOWN && activeItem != null)
                {
                    int activeIndex = resultsPanel.getWidgetIndex(activeItem);

                    if (activeIndex + 1 < resultsPanel.getWidgetCount())
                    {
                        selectItem((Panel) resultsPanel.getWidget(activeIndex + 1));
                    }
                }
                else if (ev.getNativeKeyCode() == KeyCodes.KEY_UP && activeItem != null)
                {
                    int activeIndex = resultsPanel.getWidgetIndex(activeItem);

                    if (activeIndex - 1 >= 0)
                    {
                        selectItem((Panel) resultsPanel.getWidget(activeIndex - 1));
                    }
                }
                else if (termLength != searchTerm.getText().length())
                {
                    String searchTermText = searchTerm.getText().trim();
                    termLength = searchTermText.length();
                    if (termLength == 0)
                    {
                        resultsPanelContainer.setVisible(false);
                        resultsPanel.clear();
                        thisClass.removeStyleName(StaticResourceBundle.INSTANCE.coreCss().globalSearchBoxActive());
                    }
                    else
                    {
                        GetDirectorySearchResultsRequest request = new GetDirectorySearchResultsRequest(
                                searchTermText, "", 0, 4, "global");
                        SearchResultsModel.getInstance().fetch(request, true);
                        thisClass.addStyleName(StaticResourceBundle.INSTANCE.coreCss().globalSearchBoxActive());
                    }
                }
            }
        });

        searchTerm.addBlurHandler(new BlurHandler()
        {
            public void onBlur(final BlurEvent arg0)
            {
                timerFactory.runTimer(BLUR_DELAY, new TimerHandler()
                {
                    public void run()
                    {
                        clearSearch();
                    }
                });
            }
        });

        eventBus.addObserver(GotSearchResultsResponseEvent.class, new Observer<GotSearchResultsResponseEvent>()
        {
            public void update(final GotSearchResultsResponseEvent event)
            {
                if ("global".equals(event.getCallerKey()))
                {
                    resultsPanel.clear();
                    activeItem = null;
                    resultsPanelContainer.setVisible(event.getResponse().getPagedSet().size() > 0);
                    String historyToken = "";

                    for (ModelView result : event.getResponse().getPagedSet())
                    {
                        final FocusPanel itemContainer = new FocusPanel();
                        final FlowPanel itemPanel = new FlowPanel();
                        final Hyperlink name = new Hyperlink();
                        name.addStyleName(StaticResourceBundle.INSTANCE.coreCss().globalSearchItemName());
                        name.addStyleName(StaticResourceBundle.INSTANCE.coreCss().ellipsisChild());

                        if (result instanceof PersonModelView)
                        {
                            final PersonModelView person = (PersonModelView) result;
                            itemPanel.add(AvatarLinkPanel.create(person, Size.Small, false));
                            name.setText(person.getDisplayName());
                            name.setTitle(person.getDisplayName());
                            historyToken = Session.getInstance().generateUrl(
                                    new CreateUrlRequest(Page.PEOPLE, person.getAccountId()));

                            itemContainer.addClickHandler(new ClickHandler()
                            {
                                public void onClick(final ClickEvent event)
                                {
                                    ArrayList<String> views = new ArrayList<String>();
                                    views.add(person.getAccountId());
                                    eventBus.notifyObservers(new UpdateHistoryEvent(new CreateUrlRequest(Page.PEOPLE,
                                            views)));
                                }
                            });

                        }
                        else if (result instanceof DomainGroupModelView)
                        {
                            final DomainGroupModelView group = (DomainGroupModelView) result;
                            itemPanel.add(new AvatarLinkPanel(EntityType.GROUP, group.getShortName(), group
                                    .getAvatarId(), Size.Small, false));
                            name.setText(group.getName());
                            name.setTitle(group.getName());
                            historyToken = Session.getInstance().generateUrl(
                                    new CreateUrlRequest(Page.GROUPS, group.getShortName()));

                            itemContainer.addClickHandler(new ClickHandler()
                            {
                                public void onClick(final ClickEvent event)
                                {
                                    ArrayList<String> views = new ArrayList<String>();
                                    views.add(group.getShortName());
                                    eventBus.notifyObservers(new UpdateHistoryEvent(new CreateUrlRequest(Page.GROUPS,
                                            views)));
                                }
                            });
                        }

                        itemContainer.addMouseOverHandler(new MouseOverHandler()
                        {
                            public void onMouseOver(final MouseOverEvent arg0)
                            {
                                selectItem(itemContainer);
                            }
                        });

                        name.setTargetHistoryToken(historyToken);
                        itemPanel.add(name);

                        itemContainer.add(itemPanel);
                        resultsPanel.add(itemContainer);

                        if (activeItem == null)
                        {
                            selectItem(itemContainer);
                        }
                    }

                    if (event.getResponse().getTotal() > event.getResponse().getPagedSet().size())
                    {
                        final FocusPanel itemContainer = new FocusPanel();
                        final FlowPanel itemPanel = new FlowPanel();

                        itemContainer.addStyleName(StaticResourceBundle.INSTANCE.coreCss().searchResultsMoreButton());

                        itemPanel.add(new Label("See more results"));

                        itemContainer.addClickHandler(new ClickHandler()
                        {
                            public void onClick(final ClickEvent event)
                            {
                                eventBus.notifyObservers(new UpdateHistoryEvent(new CreateUrlRequest(Page.SEARCH,
                                        generateParams(searchTerm.getText()), false)));
                            }
                        });

                        itemContainer.addMouseOverHandler(new MouseOverHandler()
                        {
                            public void onMouseOver(final MouseOverEvent arg0)
                            {
                                selectItem(itemContainer);
                            }
                        });

                        itemContainer.add(itemPanel);
                        resultsPanel.add(itemContainer);
                    }

                }
            }
        });

        eventBus.addObserver(SwitchedHistoryViewEvent.class, new Observer<SwitchedHistoryViewEvent>()
        {
            public void update(final SwitchedHistoryViewEvent event)
            {
                if (event.getPage() != Page.SEARCH)
                {
View Full Code Here

        {
            topBar.removeFromParent();
        }

        // listen for model events
        final EventBus eventBus = Session.getInstance().getEventBus();

        eventBus.addObserver(UpdatedNotificationFilterPreferencesResponseEvent.class, settingsSavedObserver);
        eventBus.addObserver(GotNotificationFilterPreferencesResponseEvent.class, gotDataObserver);

        // request data
        NotificationFilterPreferencesModel.getInstance().fetch(null, true);
    }
View Full Code Here

     */
    @Override
    protected void onDetach()
    {
        super.onDetach();
        final EventBus eventBus = EventBus.getInstance();
        eventBus.removeObserver(UpdatedNotificationFilterPreferencesResponseEvent.class, settingsSavedObserver);
        eventBus.removeObserver(GotNotificationFilterPreferencesResponseEvent.class, gotDataObserver);
    }
View Full Code Here

TOP

Related Classes of org.eurekastreams.web.client.events.EventBus

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.