package fr.openwide.core.showcase.web.application.widgets.page; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.Model; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import fr.openwide.core.wicket.behavior.ClassAttributeAppender; import fr.openwide.core.wicket.more.link.descriptor.IPageLinkDescriptor; import fr.openwide.core.wicket.more.link.descriptor.builder.LinkDescriptorBuilder; import fr.openwide.core.wicket.more.markup.html.template.js.jquery.plugins.bootstrap.popover.BootstrapPopoverBehavior; import fr.openwide.core.wicket.more.markup.html.template.js.jquery.plugins.bootstrap.popover.BootstrapPopoverOptions; import fr.openwide.core.wicket.more.markup.html.template.js.jquery.plugins.bootstrap.tab.BootstrapTabBehavior; import fr.openwide.core.wicket.more.markup.html.template.model.BreadCrumbElement; public class BootstrapJsPage extends WidgetsTemplate { private static final long serialVersionUID = -187415297020105589L; public static final IPageLinkDescriptor linkDescriptor() { return LinkDescriptorBuilder.start() .page(BootstrapJsPage.class); } public BootstrapJsPage(PageParameters parameters) { super(parameters); addBreadCrumbElement(new BreadCrumbElement(new ResourceModel("widgets.menu.bootstrapJs"), BootstrapJsPage.linkDescriptor())); // Popover WebMarkupContainer someInformation = new WebMarkupContainer("someInfomration"); someInformation.setOutputMarkupId(true); add(someInformation); Label someLabelDefault = new Label("someLabelDefault", new ResourceModel("widgets.popover.someLabel.default")); BootstrapPopoverOptions popoverOptions = new BootstrapPopoverOptions(); popoverOptions.setTitleModel(new ResourceModel("widgets.popover.someInformation.title")); popoverOptions.setContentComponent(someInformation); popoverOptions.setHtml(true); someLabelDefault.add(new BootstrapPopoverBehavior(popoverOptions)); someLabelDefault.add(new ClassAttributeAppender(Model.of("popover-btn"))); add(someLabelDefault); Label someLabelLeft = new Label("someLabelLeft", new ResourceModel("widgets.popover.someLabel.left")); someLabelLeft.add(new BootstrapPopoverBehavior(popoverOptions)); someLabelLeft.add(new ClassAttributeAppender(Model.of("popover-btn"))); add(someLabelLeft); Label someLabelTop = new Label("someLabelTop", new ResourceModel("widgets.popover.someLabel.top")); someLabelTop.add(new BootstrapPopoverBehavior(popoverOptions)); someLabelTop.add(new ClassAttributeAppender(Model.of("popover-btn"))); add(someLabelTop); Label someLabelBottom = new Label("someLabelBottom", new ResourceModel("widgets.popover.someLabel.bottom")); someLabelBottom.add(new BootstrapPopoverBehavior(popoverOptions)); someLabelBottom.add(new ClassAttributeAppender(Model.of("popover-btn"))); add(someLabelBottom); Label someLabelWithoutTitle = new Label("someLabelWithoutTitle", new ResourceModel("widgets.popover.someLabel.withoutTitle")); BootstrapPopoverOptions popoverWithoutTitleOptions = new BootstrapPopoverOptions(); popoverWithoutTitleOptions.setContentComponent(someInformation); popoverWithoutTitleOptions.setHtml(true); someLabelWithoutTitle.add(new BootstrapPopoverBehavior(popoverWithoutTitleOptions)); someLabelWithoutTitle.add(new ClassAttributeAppender(Model.of("popover-btn"))); add(someLabelWithoutTitle); // Tabs WebMarkupContainer tabContainer = new WebMarkupContainer("tabContainer"); add(tabContainer); tabContainer.add(new BootstrapTabBehavior()); } @Override protected Class<? extends WebPage> getSecondMenuPage() { return BootstrapJsPage.class; } }