Changeset 6329


Ignore:
Timestamp:
06/30/15 14:19:56 (9 years ago)
Author:
Twan Goosen
Message:

working tree with enhanced and styled parent link

Location:
vlo/trunk/vlo-web-app/src/main
Files:
2 added
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/NamedRecordPageLink.html

    r6320 r6329  
    1919    <head>
    2020        <title>TODO supply a title</title>
    21         <meta charset="UTF-8">
    22         <meta name="viewport" content="width=device-width, initial-scale=1.0">
    2321    </head>
    2422    <body>
    2523    <wicket:panel>
    26         <a wicket:id="link"><wicket:container wicket:id="label">[label]</wicket:container></a>
    27         <wicket:container wicket:id="label">[label]</wicket:container>
     24        <a wicket:id="link"><wicket:container wicket:id="name">[name]</wicket:container></a>
    2825    </wicket:panel>
    2926</body>
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/RecordPageLink.java

    r4987 r6329  
    3232public class RecordPageLink extends Link {
    3333
    34     @SpringBean(name="documentParamsConverter")
     34    @SpringBean(name = "documentParamsConverter")
    3535    private PageParametersConverter<SolrDocument> documentParamConverter;
    36     @SpringBean(name="searchContextParamsConverter")
     36    @SpringBean(name = "searchContextParamsConverter")
    3737    private PageParametersConverter<SearchContext> contextParamConverter;
    3838
    3939    private final IModel<SolrDocument> documentModel;
    4040    private final IModel<SearchContext> selectionModel;
     41
     42    public RecordPageLink(String id, IModel<SolrDocument> documentModel) {
     43        this(id, documentModel, null);
     44    }
    4145
    4246    public RecordPageLink(String id, IModel<SolrDocument> documentModel, IModel<SearchContext> selectionModel) {
     
    4953    public void onClick() {
    5054        final PageParameters params = documentParamConverter.toParameters(documentModel.getObject());
    51         params.mergeWith(contextParamConverter.toParameters(selectionModel.getObject()));
     55        if (selectionModel != null) {
     56            params.mergeWith(contextParamConverter.toParameters(selectionModel.getObject()));
     57        }
    5258        setResponsePage(RecordPage.class, params);
    5359    }
     
    5763        super.detachModels();
    5864        documentModel.detach();
    59         selectionModel.detach();
     65        if (selectionModel != null) {
     66            selectionModel.detach();
     67        }
    6068    }
    6169
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/SolrFieldModel.java

    r4632 r6329  
    4646        this(documentModel, Model.of(fieldName));
    4747    }
    48    
     48
    4949    /**
    5050     *
     
    5959    @Override
    6060    public Collection<T> getObject() {
    61         final Collection<Object> fieldValues = documentModel.getObject().getFieldValues(fieldNameModel.getObject());
    62         if (fieldValues == null) {
    63             return null;
    64         } else {
    65             return transformCollectionType(fieldValues);
     61        final SolrDocument document = documentModel.getObject();
     62        if (document != null) {
     63            final Collection<Object> fieldValues = document.getFieldValues(fieldNameModel.getObject());
     64            if (fieldValues != null) {
     65                return transformCollectionType(fieldValues);
     66            }
    6667        }
     68        return null;
    6769    }
    6870
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/RecordPage.html

    r6303 r6329  
    7272                <div wicket:id="technicalProperties" id="recordtechnicaldetails">[TECHNICAL PROPERTIES TABLE]</div>
    7373               
    74                 <div wicket:id="recordtree"></div>
     74                <div id="recordtree" wicket:id="recordtree"></div>
    7575               
    7676            </div>
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/HierarchyPanel.html

    r6327 r6329  
    2525        <wicket:panel>
    2626            <h2>Hierarchy (test)</h2>
    27             <div wicket:id="parent">
    28                 <a wicket:id="link"><span wicket:id="name"></span></a>
     27            <div class="tree-parent" wicket:id="parent">
     28                <a wicket:id="link">[link]</a>
    2929            </div>
    30             <div wicket:id="tree">[TREE]</div>
    31 
     30            <div id="tree" wicket:id="tree">[TREE]</div>
    3231        </wicket:panel>
    3332    </body>
     33
    3434</html>
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/HierarchyPanel.java

    r6327 r6329  
    2222import eu.clarin.cmdi.vlo.service.PageParametersConverter;
    2323import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService;
     24import eu.clarin.cmdi.vlo.wicket.components.NamedRecordPageLink;
     25import eu.clarin.cmdi.vlo.wicket.components.RecordPageLink;
    2426import eu.clarin.cmdi.vlo.wicket.components.SolrFieldLabel;
    2527import eu.clarin.cmdi.vlo.wicket.model.SolrDocumentModel;
     
    3436import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree;
    3537import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
     38import org.apache.wicket.extensions.markup.html.repeater.tree.NestedTree;
    3639import org.apache.wicket.extensions.markup.html.repeater.util.SortableTreeProvider;
    3740import org.apache.wicket.markup.html.WebMarkupContainer;
    3841import org.apache.wicket.markup.html.basic.Label;
    3942import org.apache.wicket.markup.html.link.Link;
     43import org.apache.wicket.markup.html.panel.Fragment;
    4044import org.apache.wicket.markup.html.panel.GenericPanel;
    4145import org.apache.wicket.model.IModel;
     
    6670        final SolrDocumentModel parentModel = new SolrDocumentModel(parentIdModel);
    6771
    68         final Link parentLink = new Link("link") {
    69 
    70             @Override
    71             public void onClick() {
    72                 setResponsePage(RecordPage.class, documentParamConverter.toParameters(parentModel.getObject()));
    73             }
    74 
     72        final MarkupContainer parent = new WebMarkupContainer(id){
     73           
    7574            @Override
    7675            protected void onConfigure() {
    7776                setVisible(parentModel.getObject() != null);
    7877            }
    79 
    8078        };
    81         parentLink.add(new SolrFieldLabel("name", parentModel, FacetConstants.FIELD_NAME, new StringResourceModel("recordpage.unnamedrecord", this, null)));
    82 
    83         final MarkupContainer parent = new WebMarkupContainer(id){
    84            
    85             @Override
    86             protected void onConfigure() {
    87                 setVisible(parentModel.getObject() == null);
    88             }
    89         };
    90         parent.add(parentLink);
     79        parent.add(new NamedRecordPageLink("link", parentModel));
    9180
    9281        return parent;
     
    9786
    9887            @Override
    99             protected Component newContentComponent(String id, IModel<SolrDocument> node) {
    100                 return new Label(id, new SolrFieldStringModel(node, FacetConstants.FIELD_NAME));
     88            protected Component newContentComponent(String id, final IModel<SolrDocument> node) {
     89                return new NamedRecordPageLink(id, node);
    10190            }
    10291
  • vlo/trunk/vlo-web-app/src/main/less/eu/clarin/cmdi/vlo/wicket/pages/inc/vlo-record.less

    r6307 r6329  
    285285    font-weight: bold;
    286286}
     287
     288#recordtree .tree-parent {
     289    padding-left: 16px;
     290    background-image: url('up-3-64.png'); /* icon from icons8.com */
     291    background-repeat: no-repeat;
     292    background-size: 12px;
     293    background-position: top left;
     294
     295    min-height: 12px;
     296    padding-bottom: 2px;
     297}
     298
     299#recordtree #tree {
     300    padding-left: 18px;
     301}
     302
     303#recordtree .tree-branch {
     304    clear: both;
     305}
Note: See TracChangeset for help on using the changeset viewer.