/*******************************************************************************
* Copyright (c) 2015 Development Gateway, Inc and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the MIT License (MIT)
* which accompanies this distribution, and is available at
* https://opensource.org/licenses/MIT
*
* Contributors:
* Development Gateway - initial API and implementation
*******************************************************************************/
/**
*
*/
package org.devgateway.toolkit.forms.wicket.components;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.event.IEvent;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.request.cycle.RequestCycle;
import org.devgateway.toolkit.forms.WebConstants;
import org.devgateway.toolkit.forms.wicket.components.form.GenericBootstrapFormComponent;
import org.devgateway.toolkit.forms.wicket.events.EditingDisabledEvent;
import org.devgateway.toolkit.forms.wicket.events.EditingEnabledEvent;
/**
* @author mpostelnicu
*
*/
public final class ComponentUtil {
private ComponentUtil() {
}
/**
* Trivial method to set the child {@link GenericBootstrapFormComponent}
* required when added to the parent {@link WebMarkupContainer}
*
* @param requiredFlag
* the {@link FormComponent#setRequired(boolean)}
* @param parent
* @param child
*
* @return the parent
*/
public static MarkupContainer addRequiredFlagBootstrapFormComponent(final boolean requiredFlag,
final WebMarkupContainer parent, final GenericBootstrapFormComponent<?, ?> child) {
return parent.add(requiredFlag ? child.required() : child);
}
/**
* Returns true if the {@link WebConstants#PARAM_VIEW_MODE} is used as a
* parameter
*
* @return
*/
public static boolean isViewMode() {
return RequestCycle.get().getRequest().getRequestParameters().getParameterValue(WebConstants.PARAM_VIEW_MODE)
.toBoolean(false);
}
public static void enableDisableEvent(final Component c, final IEvent<?> event) {
if (event.getPayload() instanceof EditingDisabledEvent) {
c.setEnabled(false);
}
if (event.getPayload() instanceof EditingEnabledEvent) {
c.setEnabled(true);
}
}
}