1 /** 2 * Copyright 2005-2012 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.rice.krad.uif.widget; 17 18 import org.apache.commons.lang.StringUtils; 19 20 import java.util.HashMap; 21 import java.util.Map; 22 23 /** 24 * Growls sets up settings for growls global to the current view and its pages 25 * 26 * <p> 27 * Some basic options of the plugin are exposed through this class, however additional options 28 * can be passed through setComponentOptions as usual. However, the header and theme option is set 29 * by the growl processing in PageGroup automatically. See the jquery jGrowl plugin for more details. 30 * </p> 31 * 32 * @author Kuali Rice Team (rice.collab@kuali.org) 33 */ 34 public class Growls extends WidgetBase { 35 private static final long serialVersionUID = -8701090110933484411L; 36 37 private boolean sticky; 38 private int timeShown; 39 private String position; 40 41 public Growls() { 42 super(); 43 } 44 45 /** 46 * Override to add property values to the template options 47 * 48 * @see org.kuali.rice.krad.uif.component.Component#getTemplateOptions() 49 */ 50 @Override 51 public Map<String, String> getTemplateOptions() { 52 Map<String, String> templateOptions = super.getTemplateOptions(); 53 54 if (templateOptions == null) { 55 templateOptions = new HashMap<String, String>(); 56 } 57 58 if (!templateOptions.containsKey("sticky")) { 59 templateOptions.put("sticky", Boolean.toString(sticky)); 60 } 61 if (!templateOptions.containsKey("life")) { 62 templateOptions.put("life", Integer.toString(timeShown)); 63 } 64 if (StringUtils.isNotBlank(position) && !templateOptions.containsKey("position")) { 65 templateOptions.put("position", position); 66 } 67 68 return templateOptions; 69 } 70 71 /** 72 * If true, the growl will stick to the page until the user dismisses it 73 * 74 * @return the sticky 75 */ 76 public boolean isSticky() { 77 return this.sticky; 78 } 79 80 /** 81 * @param sticky the sticky to set 82 */ 83 public void setSticky(boolean sticky) { 84 this.sticky = sticky; 85 } 86 87 /** 88 * The time growls are shown in milliseconds 89 * 90 * @return the timeShown 91 */ 92 public int getTimeShown() { 93 return this.timeShown; 94 } 95 96 /** 97 * @param timeShown the timeShown to set 98 */ 99 public void setTimeShown(int timeShown) { 100 this.timeShown = timeShown; 101 } 102 103 /** 104 * The position for the growls to appear in the window 105 * There are five options available: top-left, top-right, bottom-left, bottom-right, center. 106 * 107 * @return the position 108 */ 109 public String getPosition() { 110 return this.position; 111 } 112 113 /** 114 * @param position the position to set 115 */ 116 public void setPosition(String position) { 117 this.position = position; 118 } 119 }