001/**
002 * Copyright 2013 The Kuali Foundation Licensed under the
003 * Educational Community License, Version 2.0 (the "License"); you may
004 * not use this file except in compliance with the License. You may
005 * obtain a copy of the License at
006 *
007 * http://www.osedu.org/licenses/ECL-2.0
008 *
009 * Unless required by applicable law or agreed to in writing,
010 * software distributed under the License is distributed on an "AS IS"
011 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012 * or implied. See the License for the specific language governing
013 * permissions and limitations under the License.
014 *
015 * Created by bobhurt on 5/3/13
016 */
017package org.kuali.rice.krad.uif.widget;
018
019import org.kuali.rice.krad.datadictionary.parse.BeanTag;
020import org.kuali.rice.krad.uif.component.Component;
021import org.kuali.rice.krad.uif.view.View;
022
023import java.util.List;
024
025/**
026 * Widget that provides dynamic select options to the user as they enter the
027 * value (also known as auto-complete).  A "Combobox" is also possible which
028 * provides a button to start a search or (if no query term is entered) to
029 * list the entire table (caution!).
030 *
031 * <p>
032 * Widget is backed by an <code>AttributeQuery</code> that provides the
033 * configuration for executing a query server side that will retrieve the valid
034 * option values.
035 * </p>
036 *
037 * @author Kuali Student Team
038 */
039@BeanTag(name = "suggest2", parent = "Uif-Suggest2")
040public class Suggest2 extends Suggest {
041
042    private boolean comboboxButtonEnabled = false;
043    private boolean customEntryAllowed = true;
044    private boolean loadingImageEnabled = true;
045
046
047    public boolean isComboboxButtonEnabled() {
048        return comboboxButtonEnabled;
049    }
050    public void setComboboxButtonEnabled(boolean comboboxButtonEnabled) {
051        this.comboboxButtonEnabled = comboboxButtonEnabled;
052    }
053
054    public boolean isCustomEntryAllowed() {
055        return customEntryAllowed;
056    }
057    public void setCustomEntryAllowed(boolean customEntryAllowed) {
058        this.customEntryAllowed = customEntryAllowed;
059    }
060
061    public boolean isLoadingImageEnabled() {
062        return loadingImageEnabled;
063    }
064    public void setLoadingImageEnabled(boolean loadingImageEnabled) {
065        this.loadingImageEnabled = loadingImageEnabled;
066    }
067
068    /**
069     * @see org.kuali.rice.krad.uif.component.ComponentBase#copy()
070     */
071    @Override
072    protected <T> void copyProperties(T component) {
073        super.copyProperties(component);
074
075        Suggest2 suggest2Copy = (Suggest2) component;
076
077        suggest2Copy.setComboboxButtonEnabled(this.comboboxButtonEnabled);
078        suggest2Copy.setCustomEntryAllowed(this.customEntryAllowed);
079        suggest2Copy.setLoadingImageEnabled(this.loadingImageEnabled);
080    }
081}