Search in sources :

Example 1 with GetMembers

use of cz.metacentrum.perun.webgui.json.searcher.GetMembers in project perun by CESNET.

the class SearcherTabItem method loadMembersTab.

private Widget loadMembersTab() {
    // request
    final GetMembers request = new GetMembers(0);
    // MAIN TAB PANEL
    VerticalPanel firstTabPanel = new VerticalPanel();
    firstTabPanel.setSize("100%", "100%");
    PerunSearchParametersWidget params = new PerunSearchParametersWidget(PerunEntity.MEMBER, new PerunSearchParametersWidget.SearchEvent() {

        public void search(Map<String, String> map) {
            request.clearParameters();
            for (Map.Entry<String, String> entry : map.entrySet()) {
                request.addSearchParameter(entry.getKey(), entry.getValue());
            }
            request.search();
        }
    });
    final ListBoxWithObjects<VirtualOrganization> vos = new ListBoxWithObjects<VirtualOrganization>();
    vos.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent changeEvent) {
            request.setVoId(vos.getSelectedObject().getId());
        }
    });
    // initial fill listbox and trigger groups loading
    GetVos vosCall = new GetVos(new JsonCallbackEvents() {

        public void onLoadingStart() {
            vos.clear();
            vos.addItem("Loading...");
        }

        public void onFinished(JavaScriptObject jso) {
            vos.clear();
            ArrayList<VirtualOrganization> returnedVos = JsonUtils.jsoAsList(jso);
            returnedVos = new TableSorter<VirtualOrganization>().sortByName(returnedVos);
            if (returnedVos == null || returnedVos.isEmpty()) {
                vos.addItem("No VO available");
                return;
            }
            vos.addAllItems(returnedVos);
            request.setVoId(vos.getSelectedObject().getId());
        }

        public void onError(PerunError error) {
            vos.clear();
            vos.addItem("Error while loading");
        }
    });
    vosCall.retrieveData();
    TabMenu menu = new TabMenu();
    menu.addWidget(new HTML("<strong>Selected VO:</strong>"));
    menu.addWidget(vos);
    firstTabPanel.add(menu);
    firstTabPanel.add(params);
    // get the table
    final CellTable<Member> table = request.getEmptyTable(new FieldUpdater<Member, String>() {

        public void update(int index, Member object, String value) {
            // opens the tab
            session.getTabManager().addTab(new MemberDetailTabItem(object.getId(), object.getSourceGroupId()));
        }
    });
    // add a class to the table and wrap it into scroll panel
    table.addStyleName("perun-table");
    ScrollPanel sp = new ScrollPanel(table);
    sp.addStyleName("perun-tableScrollPanel");
    firstTabPanel.add(sp);
    session.getUiElements().resizePerunTable(sp, 350, this);
    return firstTabPanel;
}
Also used : JsonCallbackEvents(cz.metacentrum.perun.webgui.json.JsonCallbackEvents) ArrayList(java.util.ArrayList) VirtualOrganization(cz.metacentrum.perun.webgui.model.VirtualOrganization) MemberDetailTabItem(cz.metacentrum.perun.webgui.tabs.memberstabs.MemberDetailTabItem) ListBoxWithObjects(cz.metacentrum.perun.webgui.widgets.ListBoxWithObjects) ChangeHandler(com.google.gwt.event.dom.client.ChangeHandler) Member(cz.metacentrum.perun.webgui.model.Member) PerunSearchParametersWidget(cz.metacentrum.perun.webgui.widgets.PerunSearchParametersWidget) GetVos(cz.metacentrum.perun.webgui.json.vosManager.GetVos) GetMembers(cz.metacentrum.perun.webgui.json.searcher.GetMembers) TabMenu(cz.metacentrum.perun.webgui.widgets.TabMenu) ChangeEvent(com.google.gwt.event.dom.client.ChangeEvent) JavaScriptObject(com.google.gwt.core.client.JavaScriptObject) PerunError(cz.metacentrum.perun.webgui.model.PerunError)

Aggregations

JavaScriptObject (com.google.gwt.core.client.JavaScriptObject)1 ChangeEvent (com.google.gwt.event.dom.client.ChangeEvent)1 ChangeHandler (com.google.gwt.event.dom.client.ChangeHandler)1 JsonCallbackEvents (cz.metacentrum.perun.webgui.json.JsonCallbackEvents)1 GetMembers (cz.metacentrum.perun.webgui.json.searcher.GetMembers)1 GetVos (cz.metacentrum.perun.webgui.json.vosManager.GetVos)1 Member (cz.metacentrum.perun.webgui.model.Member)1 PerunError (cz.metacentrum.perun.webgui.model.PerunError)1 VirtualOrganization (cz.metacentrum.perun.webgui.model.VirtualOrganization)1 MemberDetailTabItem (cz.metacentrum.perun.webgui.tabs.memberstabs.MemberDetailTabItem)1 ListBoxWithObjects (cz.metacentrum.perun.webgui.widgets.ListBoxWithObjects)1 PerunSearchParametersWidget (cz.metacentrum.perun.webgui.widgets.PerunSearchParametersWidget)1 TabMenu (cz.metacentrum.perun.webgui.widgets.TabMenu)1 ArrayList (java.util.ArrayList)1