Changeset 4977


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

documentation and internal refactoring in expandable panel

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

Legend:

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

    r4976 r4977  
    2626import org.apache.wicket.model.AbstractReadOnlyModel;
    2727import org.apache.wicket.model.IModel;
     28import org.apache.wicket.model.Model;
    2829
    2930/**
     31 * Panel with expand/collapse controls which control the css class of the
     32 * component's markup element (as defined in {@link #getExpandedClass() }, {@link #getCollapsedClass()
     33 * } and {@link #getFallbackClass() }). It also adds a title that doubles as an
     34 * expansion state toggler.
    3035 *
    3136 * @author twagoo
     37 * @param <T> the type of the panel's model object
    3238 */
    3339public abstract class ExpandablePanel<T> extends GenericPanel<T> {
     
    3541    private final IModel<ExpansionState> expansionModel;
    3642
     43    /**
     44     * Creates the panel with its own expansion state model which is closed
     45     * initially
     46     *
     47     * @param id component id
     48     * @param model core model of this panel
     49     */
     50    public ExpandablePanel(String id, IModel<T> model) {
     51        this(id, model, Model.of(ExpansionState.COLLAPSED));
     52    }
     53
     54    /**
     55     *
     56     * @param id component id
     57     * @param model core model of this panel
     58     * @param expansionStateModel model that holds the expansion state
     59     */
    3760    public ExpandablePanel(String id, IModel<T> model, IModel<ExpansionState> expansionStateModel) {
    3861        super(id, model);
    3962        this.expansionModel = expansionStateModel;
    4063
    41         // facet title annex expansion toggler
     64        // title annex expansion toggler
    4265        createTitleToggler();
     66        // expand/collapse controls
    4367        addExpandCollapse();
    4468
     
    5478                switch (expansionModel.getObject()) {
    5579                    case COLLAPSED:
    56                         return "facet collapsedfacet";
     80                        return getCollapsedClass();
    5781                    case EXPANDED:
    58                         return "facet expandedfacet";
     82                        return getExpandedClass();
    5983                    default:
    60                         return "facet";
     84                        return getFallbackClass();
    6185                }
    6286            }
     
    110134        add(titleLink);
    111135    }
    112    
     136
    113137    protected abstract Label createTitleLabel(String id);
    114138
     
    119143    }
    120144
     145    /**
     146     *
     147     * @return css class for panel if the expansion state is neither collapsed
     148     * or expanded
     149     */
     150    protected String getFallbackClass() {
     151        return "facet";
     152    }
     153
     154    /**
     155     *
     156     * @return css class for panel if the expansion state expanded
     157     */
     158    protected String getExpandedClass() {
     159        return "facet expandedfacet";
     160    }
     161
     162    /**
     163     *
     164     * @return css class for panel if the expansion state is collapsed
     165     */
     166    protected String getCollapsedClass() {
     167        return "facet collapsedfacet";
     168    }
     169
    121170}
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/AdvancedSearchOptionsPanel.java

    r4976 r4977  
    1818
    1919import eu.clarin.cmdi.vlo.FacetConstants;
    20 import eu.clarin.cmdi.vlo.pojo.ExpansionState;
    2120import eu.clarin.cmdi.vlo.pojo.FacetSelection;
    2221import eu.clarin.cmdi.vlo.pojo.FacetSelectionType;
     
    3130import org.apache.wicket.markup.html.form.Form;
    3231import org.apache.wicket.model.IModel;
    33 import org.apache.wicket.model.Model;
    3432
    3533/**
     
    4543
    4644    public AdvancedSearchOptionsPanel(String id, IModel<QueryFacetsSelection> model) {
    47         super(id, model, Model.of(ExpansionState.COLLAPSED));
     45        super(id, model);
    4846
    4947        // create a model for the selection state for the FCS facet
Note: See TracChangeset for help on using the changeset viewer.