All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.webui.jsf.suntheme.javascript.rbcb.js Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

define( function() {
    
    return {

    setChecked: function(elementId, checked, type) {
        if (elementId == null || type == null) {
            return false;
        }
        var rbcb = document.getElementById(elementId);
        if (rbcb == null) {
            return false;
        }
        // wrong type
        if (rbcb.type != type.toLowerCase()) {
            return false;
        }
        // Get boolean value to ensure correct data type.
        rbcb.checked = new Boolean(checked).valueOf();
        return true;
    },

    setDisabled: function(elementId, disabled, type, enabledStyle,
            disabledStyle) {
        if (elementId == null || disabled == null || type == null) {
            // must supply an elementId && state && type
            return false;
        }
        var rbcb = document.getElementById(elementId);
        if (rbcb == null) {
            // specified elementId not found
            return false;
        }
        // wrong type
        if (rbcb.type != type.toLowerCase()) {
            return false;
        }
        rbcb.disabled = new Boolean(disabled).valueOf();
        if (rbcb.disabled) {
            if (disabledStyle != null) {
                rbcb.className = disabledStyle;
            }
        } else {
            if (enabledStyle != null) {
                rbcb.className = enabledStyle;
            }
        }
        return true;
    },

    /** 
     * Set the disabled state for all radio buttons with the given controlName.
     * If disabled is set to true, the element is shown with disabled styles.
     *
     * @param elementId The element Id
     * @param formName The name of the form containing the element
     * @param disabled true or false
     * @return true if successful; otherwise, false
     */
    setGroupDisabled: function(controlName, disabled, type, enabledStyle,
            disabledStyle) {
        // Validate params.
        if (controlName == null) {
            return false;
        }
        if (disabled == null) {
            return false;
        }
        if (type == null) {
            return false;
        }

        // Get radiobutton group elements.
        var x = document.getElementsByName(controlName)
 
        // Set disabled state.
        for (var i = 0; i < x.length; i++) {
            // Get element.
            var element = x[i];
            if (element == null || element.name != controlName) {
                continue;
            }
            // Validate element type.
            if (element.type.toLowerCase() != type) {
                return false;
            }
            // Set disabled state.
            element.disabled = new Boolean(disabled).valueOf();

            // Set class attribute.
            if (element.disabled) {
                if (disabledStyle != null) {
                    element.className = disabledStyle;
                }
            } else {
                if (enabledStyle != null) {
                    element.className = enabledStyle;
                }
            }
        }
        return true;
    }
};
});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy