/**
* Copyright (C) 2010 Asterios Raptis
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.alpharogroup.wicket.behaviors.examples;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import de.alpharogroup.resourcebundle.locale.ResourceBundleKey;
import de.alpharogroup.wicket.base.util.application.ApplicationExtensions;
import de.alpharogroup.wicket.base.util.resource.ResourceModelFactory;
import de.alpharogroup.wicket.behaviors.FaviconBehavior;
import de.alpharogroup.wicket.behaviors.JavascriptAppenderBehavior;
import de.alpharogroup.wicket.behaviors.JavascriptResourceReferenceAppenderBehavior;
import de.alpharogroup.wicket.behaviors.components.MailtoLabel;
import de.alpharogroup.wicket.behaviors.models.MailtoModel;
/**
* Homepage
*/
public class HomePage extends WebPage
{
private static final long serialVersionUID = 1L;
// Add any page properties or variables here
/**
* Constructor that is invoked when page is invoked without a session.
*
* @param parameters
* Page parameters
*/
public HomePage(final PageParameters parameters)
{
final IModel<String> mailtoAddresModel = ResourceModelFactory.newResourceModel(
ResourceBundleKey.builder().key("mailtoAddresModel.value").defaultValue("").build(),
this);
final IModel<String> mailtoViewModel = ResourceModelFactory.newResourceModel(
ResourceBundleKey.builder().key("mailtoViewModel.value").defaultValue("").build(),
this);
final MailtoModel mailtoModel = new MailtoModel(mailtoAddresModel, mailtoViewModel);
add(new MailtoLabel("mailtoLabel", mailtoModel));
final Button button = new Button("button")
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void onSubmit()
{
}
};
add(new JavascriptResourceReferenceAppenderBehavior(this.getClass(), "functions.js",
"func"));
add(JavascriptAppenderBehavior.builder().id("xy").javascript("alertnow();").build());
add(new Link<String>("focusRequestExamplePage")
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void onClick()
{
setResponsePage(FocusRequestExamplePage.class);
}
});
add(button);
add(new FaviconBehavior());
final AjaxLink<Void> link01 = new AjaxLink<Void>("link01")
{
private static final long serialVersionUID = 1L;
@Override
public void onClick(final AjaxRequestTarget target)
{
}
};
link01.add(new AttributeAppender("class", "navbarlink"));
add(link01);
final AjaxLink<Void> link02 = new AjaxLink<Void>("link02")
{
private static final long serialVersionUID = 1L;
@Override
public void onClick(final AjaxRequestTarget target)
{
}
};
add(link02);
}
@Override
public void renderHead(final IHeaderResponse response)
{
super.renderHead(response);
response
.render(JavaScriptHeaderItem.forReference(ApplicationExtensions.getJQueryReference()));
}
}