de.alpharogroup.wicket.components.examples.tooltips.TooltipsExamplePanel.java Source code

Java tutorial

Introduction

Here is the source code for de.alpharogroup.wicket.components.examples.tooltips.TooltipsExamplePanel.java

Source

/**
 * 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.components.examples.tooltips;

import org.apache.wicket.Application;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

import de.alpharogroup.wicket.behaviors.JavascriptAppenderBehavior;
import de.alpharogroup.wicket.components.factory.ComponentFactory;
import de.alpharogroup.wicket.js.addon.tooltipster.TooltipsterJsGenerator;
import de.alpharogroup.wicket.js.addon.tooltipster.TooltipsterResourceReference;
import de.alpharogroup.wicket.js.addon.tooltipster.TooltipsterSettings;

/**
 * The Panel for the example page with the several tooltips like tooltipster or bootstrap tooltip.
 */
public class TooltipsExamplePanel extends Panel {

    /**
     * The serialVersionUID
     */
    private static final long serialVersionUID = 1L;

    public TooltipsExamplePanel(final String id, final IModel<?> model) {
        super(id, model);
        final Label label = ComponentFactory.newLabel("tooltipTestLabel", Model.of("Im example for tooltipster."));
        final TooltipsterSettings tooltipsterSettings = TooltipsterSettings.builder().build();
        tooltipsterSettings.getAnimation().setValue("grow");
        tooltipsterSettings.getArrow().setValue(false);
        tooltipsterSettings.getContent().setValue("Loading foo...");
        final TooltipsterJsGenerator tooltipsterJsGenerator = new TooltipsterJsGenerator(tooltipsterSettings,
                label.getMarkupId());
        final String js = tooltipsterJsGenerator.generateJs();
        label.add(JavascriptAppenderBehavior.builder().id("tooltip_" + label.getMarkupId()).javascript(js).build());
        add(label);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void renderHead(final IHeaderResponse response) {
        super.renderHead(response);
        response.render(JavaScriptHeaderItem
                .forReference(Application.get().getJavaScriptLibrarySettings().getJQueryReference()));
        response.render(JavaScriptHeaderItem.forReference(TooltipsterResourceReference.INSTANCE));
    }
}