View Javadoc

1   /*
2    * Copyright 2011 The Kuali Foundation Licensed under the Educational Community
3    * License, Version 1.0 (the "License"); you may not use this file except in
4    * compliance with the License. You may obtain a copy of the License at
5    * http://www.opensource.org/licenses/ecl1.php Unless required by applicable law
6    * or agreed to in writing, software distributed under the License is
7    * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8    * KIND, either express or implied. See the License for the specific language
9    * governing permissions and limitations under the License.
10   */
11  package org.kuali.rice.kns.uif.widget;
12  
13  /**
14   * Decorates a group with collapse/expand functionality
15   * 
16   * @author Kuali Rice Team (rice.collab@kuali.org)
17   */
18  public class Accordion extends WidgetBase {
19      private static final long serialVersionUID = 1238789480161901850L;
20  
21      private String collapseImageSrc;
22      private String expandImageSrc;
23  
24      private int animationSpeed;
25      private boolean defaultOpen;
26      private String conditionalDefaultOpen;
27  
28      public Accordion() {
29          super();
30  
31          defaultOpen = true;
32      }
33  
34      /**
35       * Path to the images that should be displayed to collapse the group
36       * 
37       * @return String image path
38       */
39      public String getCollapseImageSrc() {
40          return this.collapseImageSrc;
41      }
42  
43      /**
44       * Setter for the collapse image path
45       * 
46       * @param collapseImageSrc
47       */
48      public void setCollapseImageSrc(String collapseImageSrc) {
49          this.collapseImageSrc = collapseImageSrc;
50      }
51  
52      /**
53       * Path to the images that should be displayed to expand the group
54       * 
55       * @return String image path
56       */
57      public String getExpandImageSrc() {
58          return this.expandImageSrc;
59      }
60  
61      /**
62       * Setter for the expand image path
63       * 
64       * @param collapseImageSrc
65       */
66      public void setExpandImageSrc(String expandImageSrc) {
67          this.expandImageSrc = expandImageSrc;
68      }
69  
70      /**
71       * Gives the speed for the open/close animation, a smaller int will result
72       * in a faster animation
73       * 
74       * @return int animation speed
75       */
76      public int getAnimationSpeed() {
77          return this.animationSpeed;
78      }
79  
80      /**
81       * Setter for the open/close animation speed
82       * 
83       * @param animationSpeed
84       */
85      public void setAnimationSpeed(int animationSpeed) {
86          this.animationSpeed = animationSpeed;
87      }
88  
89      /**
90       * Indicates whether the group should be initially open
91       * 
92       * @return boolean true if group should be initially open, false if it
93       *         should be closed
94       */
95      public boolean isDefaultOpen() {
96          return this.defaultOpen;
97      }
98  
99      /**
100      * Setter for the default open indicator
101      * 
102      * @param defaultOpen
103      */
104     public void setDefaultOpen(boolean defaultOpen) {
105         this.defaultOpen = defaultOpen;
106     }
107 
108     /**
109      * Conditional expression for the default open indicator
110      * 
111      * @return String should evaluate to boolean
112      */
113     public String getConditionalDefaultOpen() {
114         return this.conditionalDefaultOpen;
115     }
116 
117     /**
118      * Setter for the conditional default open expression
119      * 
120      * @param conditionalDefaultOpen
121      */
122     public void setConditionalDefaultOpen(String conditionalDefaultOpen) {
123         this.conditionalDefaultOpen = conditionalDefaultOpen;
124     }
125 
126 }