Changeset 6330 for vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/HierarchyPanel.java
- Timestamp:
- 06/30/15 15:04:50 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/HierarchyPanel.java
r6329 r6330 20 20 import com.google.common.collect.Iterators; 21 21 import eu.clarin.cmdi.vlo.FacetConstants; 22 import eu.clarin.cmdi.vlo.service.PageParametersConverter;23 22 import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService; 24 23 import 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;27 24 import eu.clarin.cmdi.vlo.wicket.model.SolrDocumentModel; 28 25 import eu.clarin.cmdi.vlo.wicket.model.SolrFieldStringModel; 29 import eu.clarin.cmdi.vlo.wicket.pages.RecordPage;30 26 import java.util.Collection; 31 27 import java.util.Iterator; 32 28 import org.apache.solr.common.SolrDocument; 29 import org.apache.wicket.AttributeModifier; 33 30 import org.apache.wicket.Component; 34 31 import org.apache.wicket.MarkupContainer; 32 import org.apache.wicket.behavior.AttributeAppender; 35 33 import org.apache.wicket.extensions.markup.html.repeater.tree.AbstractTree; 36 34 import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree; 37 35 import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider; 38 import org.apache.wicket.extensions.markup.html.repeater.tree.NestedTree;39 36 import org.apache.wicket.extensions.markup.html.repeater.util.SortableTreeProvider; 40 37 import 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;44 38 import org.apache.wicket.markup.html.panel.GenericPanel; 39 import org.apache.wicket.model.AbstractReadOnlyModel; 45 40 import org.apache.wicket.model.IModel; 46 import org.apache.wicket.model.StringResourceModel;47 41 import org.apache.wicket.spring.injection.annot.SpringBean; 48 42 … … 56 50 private SolrDocumentService documentService; 57 51 58 @SpringBean(name = "documentParamsConverter") 59 private PageParametersConverter<SolrDocument> documentParamConverter; 52 private final SolrDocumentModel parentModel; 60 53 61 54 public HierarchyPanel(String id, IModel<SolrDocument> documentModel) { 62 55 super(id, documentModel); 56 57 final SolrFieldStringModel parentIdModel = new SolrFieldStringModel(getModel(), FacetConstants.FIELD_IS_PART_OF); 58 parentModel = new SolrDocumentModel(parentIdModel); 63 59 64 60 add(createParentLink("parent")); … … 67 63 68 64 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) { 71 66 72 final MarkupContainer parent = new WebMarkupContainer(id){73 74 67 @Override 75 68 protected void onConfigure() { … … 83 76 84 77 private AbstractTree createTree(String id) { 85 returnnew DefaultNestedTree<SolrDocument>(id, createProvider()) {78 final DefaultNestedTree<SolrDocument> tree = new DefaultNestedTree<SolrDocument>(id, createProvider()) { 86 79 87 80 @Override 88 81 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 }; 90 89 } 91 90 92 91 }; 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; 93 104 } 94 105 … … 127 138 } 128 139 140 @Override 141 public void detachModels() { 142 super.detachModels(); 143 parentModel.detach(); 144 } 145 129 146 }
Note: See TracChangeset
for help on using the changeset viewer.