Changeset 4976


Ignore:
Timestamp:
04/15/14 08:07:17 (10 years ago)
Author:
Twan Goosen
Message:

moved title toggler functionality from Facet panel into Expandable panel

Location:
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/ExpandablePanel.html

    r4975 r4976  
    2626            <a wicket:id="expand" class="expandfacet"><span>expand</span></a>
    2727            <a wicket:id="collapse" class="collapsefacet"><span>collapse</span></a>
     28            <h1><a wicket:id="titleToggle" href="#"><wicket:container wicket:id="title">[TITLE]</wicket:container></a></h1>
    2829            <wicket:child />
    2930        </wicket:panel>
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/ExpandablePanel.java

    r4975 r4976  
    2020import org.apache.wicket.AttributeModifier;
    2121import org.apache.wicket.ajax.AjaxRequestTarget;
     22import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
    2223import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxFallbackLink;
     24import org.apache.wicket.markup.html.basic.Label;
    2325import org.apache.wicket.markup.html.panel.GenericPanel;
    2426import org.apache.wicket.model.AbstractReadOnlyModel;
     
    3739        this.expansionModel = expansionStateModel;
    3840
     41        // facet title annex expansion toggler
     42        createTitleToggler();
     43        addExpandCollapse();
     44
     45        setOutputMarkupId(true);
     46    }
     47
     48    private void addExpandCollapse() {
    3949        // class modifier to apply correct class depending on state
    4050        add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {
     
    7686            }
    7787        });
    78         setOutputMarkupId(true);
     88    }
    7989
     90    private void createTitleToggler() {
     91        // title is also a link that toggles expansion state
     92        final AjaxFallbackLink titleLink = new IndicatingAjaxFallbackLink("titleToggle") {
     93
     94            @Override
     95            public void onClick(AjaxRequestTarget target) {
     96                final ExpansionState expansionState = expansionModel.getObject();
     97                if (expansionState == ExpansionState.COLLAPSED) {
     98                    expansionModel.setObject(ExpansionState.EXPANDED);
     99                } else {
     100                    expansionModel.setObject(ExpansionState.COLLAPSED);
     101                }
     102                if (target != null) {
     103                    target.add(ExpandablePanel.this);
     104                }
     105            }
     106        };
     107
     108        // Facet name becomes title
     109        titleLink.add(createTitleLabel("title"));
     110        add(titleLink);
    80111    }
     112   
     113    protected abstract Label createTitleLabel(String id);
    81114
    82115    @Override
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/AdvancedSearchOptionsPanel.html

    r4975 r4976  
    2424    <body>
    2525        <wicket:extend>
    26             <h1><a href="#">Search options</a></h1>
    2726            <div class="sbilinks facetvalues">
    2827                <form wicket:id="options" id="advancedoptions">
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/AdvancedSearchOptionsPanel.java

    r4975 r4976  
    2727import org.apache.wicket.ajax.AjaxRequestTarget;
    2828import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
     29import org.apache.wicket.markup.html.basic.Label;
    2930import org.apache.wicket.markup.html.form.CheckBox;
    3031import org.apache.wicket.markup.html.form.Form;
     
    6465    }
    6566
     67    @Override
     68    protected Label createTitleLabel(String id) {
     69        return new Label(id, "Search options");
     70    }
     71
    6672    protected abstract void selectionChanged(AjaxRequestTarget target);
    6773
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/FacetPanel.html

    r4975 r4976  
    2424    <body>
    2525        <wicket:extend>
    26             <h1><a wicket:id="titleToggle" href="#"><wicket:container wicket:id="title">[TITLE]</wicket:container></a></h1>
    2726            <div wicket:id="facetValues" />
    2827            <div wicket:id="facetSelection" />
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/FacetPanel.java

    r4975 r4976  
    2727import org.apache.solr.client.solrj.response.FacetField;
    2828import org.apache.wicket.ajax.AjaxRequestTarget;
    29 import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
    30 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxFallbackLink;
    3129import org.apache.wicket.markup.html.basic.Label;
    3230import org.apache.wicket.model.IModel;
     
    5250        this.expansionStateModel = expansionState;
    5351
    54         // facet title annex expansion toggler
    55         add(createTitleToggler("titleToggle"));
    56 
    5752        // panel showing values for selection
    5853        facetValuesPanel = createFacetValuesPanel("facetValues");
     
    6459    }
    6560
    66     private AjaxFallbackLink createTitleToggler(String id) {
    67         // facet title is also a link that toggles expansion state
    68         final AjaxFallbackLink titleLink = new IndicatingAjaxFallbackLink(id) {
    69 
    70             @Override
    71             public void onClick(AjaxRequestTarget target) {
    72                 final ExpansionState expansionState = expansionStateModel.getObject();
    73                 if (expansionState == ExpansionState.COLLAPSED) {
    74                     expansionStateModel.setObject(ExpansionState.EXPANDED);
    75                 } else {
    76                     expansionStateModel.setObject(ExpansionState.COLLAPSED);
    77                 }
    78                 if (target != null) {
    79                     target.add(FacetPanel.this);
    80                 }
    81             }
    82         };
    83 
    84         // Facet name becomes title
    85         titleLink.add(new Label("title", new SolrFieldNameModel(new PropertyModel(getModel(), "facetField.name"))));
    86         return titleLink;
     61    @Override
     62    protected Label createTitleLabel(String id) {
     63        return new Label(id, new SolrFieldNameModel(new PropertyModel(getModel(), "facetField.name")));
    8764    }
    8865
Note: See TracChangeset for help on using the changeset viewer.