Changeset 5812 for ComponentRegistry


Ignore:
Timestamp:
11/13/14 08:58:23 (10 years ago)
Author:
Twan Goosen
Message:

further improvements on the groups admin page
refs #691

Location:
ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/frontend
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/frontend/Groups.html

    r5811 r5812  
    4545                <li wicket:id="members">
    4646                    <span wicket:id="name">[name]</span>
    47                     <a wicket:id="remove">[Remove]</a>
     47                </li>
     48            </ul>
     49           
     50            <hr />
     51           
     52            <h4>Items in group</h4>
     53            <ul>
     54                <li wicket:id="items">
     55                    <a wicket:id="link"><span wicket:id="id">[name]</span></a>
    4856                </li>
    4957            </ul>
  • ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/frontend/Groups.java

    r5811 r5812  
    22
    33import clarin.cmdi.componentregistry.ItemNotFoundException;
     4import clarin.cmdi.componentregistry.impl.ComponentUtils;
    45import clarin.cmdi.componentregistry.impl.database.GroupService;
    56import clarin.cmdi.componentregistry.impl.database.ValidationException;
    67import clarin.cmdi.componentregistry.model.RegistryUser;
     8import com.google.common.collect.Iterables;
     9import com.google.common.collect.Lists;
    710import java.util.Collections;
    811import java.util.List;
     
    1316import org.apache.wicket.markup.html.form.Form;
    1417import org.apache.wicket.markup.html.form.TextField;
     18import org.apache.wicket.markup.html.link.ExternalLink;
    1519import org.apache.wicket.markup.html.link.Link;
    1620import org.apache.wicket.markup.html.list.ListItem;
     
    119123        container.add(createNewMemberForm("newMember"));
    120124        container.add(createGroupMembersView("members"));
     125        container.add(createItemsView("items"));
    121126
    122127        return container;
     
    163168                final RegistryUser user = (RegistryUser) li.getModelObject();
    164169                li.add(new Label("name", user.getName()));
    165                 li.add(new Link("remove") {
     170//                li.add(new Link("remove") {
     171//
     172//                    @Override
     173//                    public void onClick() {
     174//                        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
     175//                    }
     176//                });
     177            }
     178        };
     179        return membersView;
     180    }
     181
     182    private ListView createItemsView(String id) {
     183        final IModel<List> itemsModel = new AbstractReadOnlyModel<List>() {
     184
     185            @Override
     186            public List getObject() {
     187                final Long groupId = selectedGroup.getObject();
     188                return Lists.newArrayList(Iterables.concat(
     189                        groupService.getComponentIdsInGroup(groupId),
     190                        groupService.getProfileIdsInGroup(groupId)));
     191            }
     192        };
     193        final ListView itemsView = new ListView(id, itemsModel) {
     194
     195            @Override
     196            protected void populateItem(ListItem li) {
     197                final String id = (String) li.getModelObject();
     198                final ExternalLink link = new ExternalLink("link", new AbstractReadOnlyModel<String>() {
    166199
    167200                    @Override
    168                     public void onClick() {
    169                         throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
     201                    public String getObject() {
     202                        if (ComponentUtils.isProfileId(id)) {
     203                            return "../rest/registry/profiles/" + id;
     204                        } else {
     205                            return "../rest/registry/components/" + id;
     206                        }
    170207                    }
    171208                });
    172             }
    173         };
    174         return membersView;
     209                link.add(new Label("id", li.getModel()));
     210                li.add(link);
     211            }
     212        };
     213        return itemsView;
    175214    }
    176215
Note: See TracChangeset for help on using the changeset viewer.