Changeset 6330


Ignore:
Timestamp:
06/30/15 15:04:50 (9 years ago)
Author:
Twan Goosen
Message:

display of hierarchy in the record page

Location:
vlo/trunk/vlo-web-app/src/main
Files:
5 edited

Legend:

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

    r6329 r6330  
    6767
    6868                <div wicket:id="resources" id="recordresources">[RESOURCES]</div>
     69               
     70                <div id="recordtree" wicket:id="recordtree"></div>
     71               
     72                <h2>Advanced</h2>
    6973
    7074                <div wicket:id="cmdi" id="recordcmdi">[CMDI metadata]</div>
     
    7276                <div wicket:id="technicalProperties" id="recordtechnicaldetails">[TECHNICAL PROPERTIES TABLE]</div>
    7377               
    74                 <div id="recordtree" wicket:id="recordtree"></div>
    75                
    7678            </div>
    7779        </wicket:extend>
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/HierarchyPanel.html

    r6329 r6330  
    2424    <body>
    2525        <wicket:panel>
    26             <h2>Hierarchy (test)</h2>
     26            <h2>Hierarchy</h2>
     27            <p>
     28                Use the tree below to explore the hierarchy this record is part
     29                of. Click on the name of any of the records in this hierarchy to
     30                navigate to that item.
     31            </p>
     32           
    2733            <div class="tree-parent" wicket:id="parent">
    2834                <a wicket:id="link">[link]</a>
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/HierarchyPanel.java

    r6329 r6330  
    2020import com.google.common.collect.Iterators;
    2121import eu.clarin.cmdi.vlo.FacetConstants;
    22 import eu.clarin.cmdi.vlo.service.PageParametersConverter;
    2322import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService;
    2423import eu.clarin.cmdi.vlo.wicket.components.NamedRecordPageLink;
    25 import eu.clarin.cmdi.vlo.wicket.components.RecordPageLink;
    26 import eu.clarin.cmdi.vlo.wicket.components.SolrFieldLabel;
    2724import eu.clarin.cmdi.vlo.wicket.model.SolrDocumentModel;
    2825import eu.clarin.cmdi.vlo.wicket.model.SolrFieldStringModel;
    29 import eu.clarin.cmdi.vlo.wicket.pages.RecordPage;
    3026import java.util.Collection;
    3127import java.util.Iterator;
    3228import org.apache.solr.common.SolrDocument;
     29import org.apache.wicket.AttributeModifier;
    3330import org.apache.wicket.Component;
    3431import org.apache.wicket.MarkupContainer;
     32import org.apache.wicket.behavior.AttributeAppender;
    3533import org.apache.wicket.extensions.markup.html.repeater.tree.AbstractTree;
    3634import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree;
    3735import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
    38 import org.apache.wicket.extensions.markup.html.repeater.tree.NestedTree;
    3936import org.apache.wicket.extensions.markup.html.repeater.util.SortableTreeProvider;
    4037import org.apache.wicket.markup.html.WebMarkupContainer;
    41 import org.apache.wicket.markup.html.basic.Label;
    42 import org.apache.wicket.markup.html.link.Link;
    43 import org.apache.wicket.markup.html.panel.Fragment;
    4438import org.apache.wicket.markup.html.panel.GenericPanel;
     39import org.apache.wicket.model.AbstractReadOnlyModel;
    4540import org.apache.wicket.model.IModel;
    46 import org.apache.wicket.model.StringResourceModel;
    4741import org.apache.wicket.spring.injection.annot.SpringBean;
    4842
     
    5650    private SolrDocumentService documentService;
    5751
    58     @SpringBean(name = "documentParamsConverter")
    59     private PageParametersConverter<SolrDocument> documentParamConverter;
     52    private final SolrDocumentModel parentModel;
    6053
    6154    public HierarchyPanel(String id, IModel<SolrDocument> documentModel) {
    6255        super(id, documentModel);
     56
     57        final SolrFieldStringModel parentIdModel = new SolrFieldStringModel(getModel(), FacetConstants.FIELD_IS_PART_OF);
     58        parentModel = new SolrDocumentModel(parentIdModel);
    6359
    6460        add(createParentLink("parent"));
     
    6763
    6864    private MarkupContainer createParentLink(String id) {
    69         final SolrFieldStringModel parentIdModel = new SolrFieldStringModel(getModel(), FacetConstants.FIELD_IS_PART_OF);
    70         final SolrDocumentModel parentModel = new SolrDocumentModel(parentIdModel);
     65        final MarkupContainer parent = new WebMarkupContainer(id) {
    7166
    72         final MarkupContainer parent = new WebMarkupContainer(id){
    73            
    7467            @Override
    7568            protected void onConfigure() {
     
    8376
    8477    private AbstractTree createTree(String id) {
    85         return new DefaultNestedTree<SolrDocument>(id, createProvider()) {
     78        final DefaultNestedTree<SolrDocument> tree = new DefaultNestedTree<SolrDocument>(id, createProvider()) {
    8679
    8780            @Override
    8881            protected Component newContentComponent(String id, final IModel<SolrDocument> node) {
    89                 return new NamedRecordPageLink(id, node);
     82                return new NamedRecordPageLink(id, node) {
     83
     84                    @Override
     85                    protected void onConfigure() {
     86                        setEnabled(!node.equals(HierarchyPanel.this.getModel()));
     87                    }
     88                };
    9089            }
    9190
    9291        };
     92        tree.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {
     93
     94            @Override
     95            public String getObject() {
     96                if (parentModel.getObject() != null) {
     97                    return "has-parent";
     98                } else {
     99                    return null;
     100                }
     101            }
     102        }, " "));
     103        return tree;
    93104    }
    94105
     
    127138    }
    128139
     140    @Override
     141    public void detachModels() {
     142        super.detachModels();
     143        parentModel.detach();
     144    }
     145
    129146}
  • vlo/trunk/vlo-web-app/src/main/less/eu/clarin/cmdi/vlo/wicket/pages/inc/style.less

    r5223 r6330  
    3232    border-bottom: 1px solid #666;
    3333    text-transform: uppercase;
     34    clear: both;
    3435}
    3536
  • vlo/trunk/vlo-web-app/src/main/less/eu/clarin/cmdi/vlo/wicket/pages/inc/vlo-record.less

    r6329 r6330  
    157157
    158158/* Resource links with icons */
    159 
    160 #recordresources {
    161     clear: both;
    162     margin: 2em 0;
    163 }
    164159
    165160#recordresources a.resourceLink {
     
    281276}
    282277
     278#recordtree {
     279    padding-bottom: 1em;
     280}
     281
    283282#recordtree #thisrecord {
    284283    list-style-type: circle;
     
    297296}
    298297
    299 #recordtree #tree {
     298#recordtree .tree-parent a {
     299    color: black;
     300}
     301
     302#recordtree #tree.has-parent {
    300303    padding-left: 18px;
    301304}
     
    304307    clear: both;
    305308}
     309
     310#recordtree .tree-branch a {
     311   
     312}
Note: See TracChangeset for help on using the changeset viewer.