/* * Copyright (c) 2010-2013 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.evolveum.midpoint.web.component.accordion; import org.apache.wicket.behavior.AttributeAppender; import org.apache.wicket.markup.head.CssHeaderItem; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; import org.apache.wicket.markup.head.OnDomReadyHeaderItem; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.border.Border; import org.apache.wicket.model.Model; import org.apache.wicket.request.resource.PackageResourceReference; /** * Don't use this component, it will be gradually removed from gui. * Maybe replaced with something else later. [lazyman] */ @Deprecated public class Accordion extends Border { private static final long serialVersionUID = 7554515215048790384L; private boolean expanded = false; private boolean multipleSelect = true; private int openedPanel = -1; public Accordion(String id) { super(id); add(new AttributeAppender("class", new Model<String>("accordions"), " ")); WebMarkupContainer parent = new WebMarkupContainer("parent"); parent.setOutputMarkupId(true); addToBorder(parent); } @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); response.render(JavaScriptHeaderItem.forReference( new PackageResourceReference(Accordion.class, "Accordion.js"))); response.render(CssHeaderItem.forReference( new PackageResourceReference(Accordion.class, "Accordion.css"))); WebMarkupContainer parent = (WebMarkupContainer) get("parent"); response.render(OnDomReadyHeaderItem.forScript("createAccordion('" + parent.getMarkupId() + "'," + getExpanded() + "," + getMultipleSelect() + "," + getOpenedPanel() + ")")); } public void setExpanded(boolean expanded) { this.expanded = expanded; } public void setMultipleSelect(boolean multipleSelect) { this.multipleSelect = multipleSelect; } public void setOpenedPanel(int openedPanel) { this.openedPanel = openedPanel; } public boolean getExpanded() { return expanded; } private int getMultipleSelect() { if (multipleSelect) { return 0; } return -1; } public int getOpenedPanel() { return openedPanel; } }