/******************************************************************************* * 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.form; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.model.IModel; /** * @author idobre * @since 5/6/15 */ public class TwitterFieldBootstrapFormComponent extends TextFieldBootstrapFormComponent<String> { private static final long serialVersionUID = 1L; public TwitterFieldBootstrapFormComponent(final String id) { super(id); } @Override protected void onInitialize() { super.onInitialize(); // add a '@' if it's not present yet String twitter = this.getModelObject(); if (twitter != null && !twitter.startsWith("@")) { twitter = "@" + twitter; this.setModelObject(twitter); } } @Override protected TextField<String> inputField(final String id, final IModel<String> model) { return new TextField<String>(id, initFieldModel()) { private static final long serialVersionUID = 1L; @Override public void convertInput() { super.convertInput(); this.updateModel(); // add a '@' in front of the field value String twitter = this.getModelObject(); if (twitter != null && !twitter.startsWith("@")) { twitter = "@" + twitter; } setConvertedInput(twitter); } }; } }