/** * Page Body, deve ser um TransparentWebMarkupContainer. Por é pai de todos os filhos <wicket:child></wicket:child> * @param id o id do component * @param withMenu se deve conter menu * @param adminTemplate o template utilizado * @return o componente criado */ default TransparentWebMarkupContainer buildPageBody(String id, boolean withMenu, SingularAdminTemplate adminTemplate) { TransparentWebMarkupContainer pageBody = new TransparentWebMarkupContainer(id); if (!withMenu) { pageBody.add($b.classAppender("page-full-width")); } return pageBody; } }
@Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); Components.assertTag(this, tag, "html"); }
@Override public void renderHead(final IHeaderResponse response) { super.renderHead(response); if (useModernizr) { response.render(newModernizrHeaderItem()); } }
/** * creates a new transparent inner container which is used to append some * css classes. * * @param componentId The non-null id of a new navigation component * @return a new inner container of the navigation bar. */ protected TransparentWebMarkupContainer newCollapseContainer(String componentId) { TransparentWebMarkupContainer collapse = new TransparentWebMarkupContainer(componentId); collapse.setOutputMarkupId(true); // needed to put the "data-target" attribute of the collapse button return collapse; }
/** * creates a new transparent inner container which is used to append some * css classes. * * @param componentId The non-null id of a new navigation component * @return a new inner container of the navigation bar. */ private TransparentWebMarkupContainer newContainer(String componentId) { return new TransparentWebMarkupContainer(componentId); }
@Override protected void populateItem(ListItem<ICarouselImage> item) { final ICarouselImage carouselImage = item.getModelObject(); final Component image = newImage("image", carouselImage); final Component header = newHeader("header", carouselImage); final Component description = newDescription("description", carouselImage); final TransparentWebMarkupContainer caption = new TransparentWebMarkupContainer("caption"); caption.setVisible(header.isVisible() || description.isVisible()); if (item.getIndex() == 0) { item.add(new CssClassNameAppender("active")); } item.add(image, header, description, caption); } };
/** * Construct. * * @param componentId The non-null id of this component * @param model The component's model */ public Navbar(final String componentId, final IModel<?> model) { super(componentId, model); BootstrapResourcesBehavior.addTo(this); final TransparentWebMarkupContainer container = newContainer("container"); final TransparentWebMarkupContainer collapse = newCollapseContainer("collapse"); final TransparentWebMarkupContainer collapseButton = newCollapseButton("collapseButton", "#" + collapse.getMarkupId()); this.brandNameLink = newBrandNameLink("brandName"); final Component leftAlignedComponentListView = newNavigation("navLeftList", newPositionDependedComponentModel(components, POSITION_FILTER_LEFT)); final Component rightAlignedComponentListView = newNavigation("navRightList", newPositionDependedComponentModel(components, POSITION_FILTER_RIGHT)); extraItems = new RepeatingView("extraItems"); collapse.add(extraItems); activeStateAppender = new CssClassNameAppender("active"); invertModel = Model.of(""); EnclosureContainer navLeftListEnclosure = new EnclosureContainer("navLeftListEnclosure", leftAlignedComponentListView); navLeftListEnclosure.add(leftAlignedComponentListView); navLeftListEnclosure.setRenderBodyOnly(false).setOutputMarkupPlaceholderTag(true); EnclosureContainer navRightListEnclosure = new EnclosureContainer("navRightListEnclosure", rightAlignedComponentListView); navRightListEnclosure.add(rightAlignedComponentListView); navRightListEnclosure.setRenderBodyOnly(false).setOutputMarkupPlaceholderTag(true); collapse.add(navLeftListEnclosure, navRightListEnclosure); container.add(collapse, collapseButton, brandNameLink); collapseButton.add(newToggleNavigationLabel("toggleNavigationLabel")); add(container); }
@Override public Component newComponent(MarkupContainer container, ComponentTag tag) { return new TransparentWebMarkupContainer(tag.getId()); } };
@Override protected void populateItem(ListItem<ICarouselImage> item) { ICarouselImage carouselImage = item.getModelObject(); Label image = new Label("image"); image.add(new AttributeModifier("src", carouselImage.url())); Label header = new Label("header"); if (carouselImage.header().isPresent()) { header.setDefaultModel(Model.of(carouselImage.header().get())); } else { header.setVisible(false); } Label description = new Label("description"); if (carouselImage.description().isPresent()) { description.setDefaultModel(Model.of(carouselImage.description().get())); } else { description.setVisible(false); } TransparentWebMarkupContainer caption = new TransparentWebMarkupContainer("caption"); caption.setVisible(header.isVisible() || description.isVisible()); if (!renderedActive) { renderedActive = true; item.add(new CssClassNameAppender("active")); } item.add(image, header, description, caption); } };
@Override public TransparentWebMarkupContainer buildPageBody(String id, boolean withMenu, SingularAdminTemplate adminTemplate) { TransparentWebMarkupContainer pageBody = new TransparentWebMarkupContainer(id); if (!withMenu) { pageBody.add($b.classAppender("page-full-width")); } pageBody.add(new SingularJSBehavior()); return pageBody; }
@Override public Component newComponent(MarkupContainer container, ComponentTag tag) { return new TransparentWebMarkupContainer(tag.getId()); } };
@Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); if (!getParent().get(childId).isEnabled()) { Attributes.addClass(tag, "disabled"); } } }
@Override public void renderHead(IHeaderResponse response) { super.renderHead(response); if (Bootstrap.getSettings(getApplication()).useModernizr()) { response.render(JavaScriptHeaderItem.forReference(ModernizrJavaScriptReference.INSTANCE)); } } }
@Override public TransparentWebMarkupContainer buildPageBody(String id, boolean withMenu, SingularAdminTemplate adminTemplate) { TransparentWebMarkupContainer pageBody = new TransparentWebMarkupContainer(id); if (!withMenu) { pageBody.add($b.classAppender("page-full-width")); } pageBody.add(new SingularJSBehavior()); return pageBody; }
public AbstractBasePage() { add(body = new TransparentWebMarkupContainer("body")); }
@Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); Attributes.removeClass(tag, "container", "container-fluid"); if (isFluid()) { Attributes.addClass(tag, "container-fluid"); } else { Attributes.addClass(tag, "container"); } } };
@Override public TransparentWebMarkupContainer buildPageBody(String id, boolean withMenu, SingularAdminTemplate adminTemplate) { TransparentWebMarkupContainer pageBody = new TransparentWebMarkupContainer(id); if (!withMenu) { pageBody.add($b.classAppender("page-full-width")); } pageBody.add(new SingularJSBehavior()); return pageBody; }
@Override public Component resolve(final MarkupContainer container, final MarkupStream markupStream, final ComponentTag tag) { if ((tag != null) && (tag.getId().startsWith(getWicketRelativePathPrefix(markupStream)))) { // we do not want to mess with the hierarchy, so the container has to be // transparent as it may have wicket components inside. for example a raw anchor tag // that contains a label. return new TransparentWebMarkupContainer(tag.getId()); } return null; }
@Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); Attributes.removeClass(tag, Size.Large.cssClassName(), Size.Small.cssClassName()); switch (size) { case Large: Attributes.addClass(tag, Size.Large.cssClassName()); break; case Small: Attributes.addClass(tag, Size.Small.cssClassName()); break; default: // do nothing. the CSS classes are removed before the switch } } };
/** * creates a new transparent container which is used to append the "data-target" attribute to the collapse button. * * @param componentId The non-null id of collapse button * @param selector non-null jquery selector to collapse * @return a button container. */ protected TransparentWebMarkupContainer newCollapseButton(String componentId, String selector) { TransparentWebMarkupContainer button = new TransparentWebMarkupContainer(componentId); Args.notNull(selector, "selector"); button.add(new AttributeModifier("data-target", selector)); return button; }