/** * Construct. Uses {@link de.agilecoders.wicket.settings.IBootstrapSettings#getJsResourceFilterName()} * as filter name. */ public RenderJavaScriptToFooterHeaderResponseDecorator() { this(Bootstrap.getSettings().getJsResourceFilterName()); }
/** * renders a given header item with filter if present. * * @param response The current header response * @param headerItem The header item to render */ public static void renderWithFilter(final IHeaderResponse response, final JavaScriptReferenceHeaderItem headerItem) { renderWithFilter(Bootstrap.getSettings(), response, headerItem); }
protected final IBootstrapSettings getBootstrapSettings() { return Bootstrap.getSettings(application); }
protected final IBootstrapSettings getBootstrapSettings() { return Bootstrap.getSettings(application); }
/** * returns the {@link IBootstrapSettings} which are assigned to current application * * @return assigned {@link IBootstrapSettings} */ public static IBootstrapSettings getSettings() { if (Application.exists()) { return getSettings(Application.get()); } throw new IllegalStateException("there is no active application assigned to this thread."); }
/** * use fixed variation value to trigger {@link LessResourceStreamLocator} * * @return static string {@link LessResourceReference#VARIATION} if less is active */ @Override public final String getVariation() { return Bootstrap.getSettings().getBootstrapLessCompilerSettings().useLessCompiler() ? VARIATION : null; } }
/** * @return true if less compiler should be used. */ private static boolean useLessCompiler() { return Bootstrap.getSettings().getBootstrapLessCompilerSettings().useLessCompiler(); }
/** * returns the {@link IBootstrapSettings} implementation like {@link de.agilecoders.wicket.settings.BootstrapSettings} * which was bound to the current application. * * @param component the bound component * @return the bound {@link IBootstrapSettings} */ protected final IBootstrapSettings getBootstrapSettings(Component component) { IBootstrapSettings settings = Bootstrap.getSettings(component.getApplication()); if (settings == null) { throw new WicketRuntimeException("No BootstrapSettings associated with this Application. Did you call Bootstrap.install()?"); } return settings; }
@Override public Iterable<? extends HeaderItem> getDependencies() { List<HeaderItem> dependencies = Lists.newArrayList(super.getDependencies()); dependencies.add(JavaScriptHeaderItem.forReference(Bootstrap.getSettings().getJsResourceReference())); return dependencies; } }
@Override public Iterable<? extends HeaderItem> getDependencies() { List<HeaderItem> dependencies = Lists.newArrayList(super.getDependencies()); dependencies.add(JavaScriptHeaderItem.forReference(Bootstrap.getSettings().getJsResourceReference())); dependencies.add(CssHeaderItem.forReference(PrettyCssResourceReference.INSTANCE)); return dependencies; } }
/** * @return charset setting */ protected final Charset getCharset() { if (Application.exists()) { return Bootstrap.getSettings().getBootstrapLessCompilerSettings().getCharset(); } else { LOG.warn("no application assigned to current thread, return default charset: {}", Charsets.UTF_8); return Charsets.UTF_8; } } }
/** * Gets the {@link LessJsLessCompiler} to be used. By default returns the configured compiler on * application level, but can be overridden by the user application to provide compiler * specific to the resource. * * @return the configured application level less compiler. May be {@code null}. */ private static IBootstrapLessCompiler getCompiler() { if (Application.exists()) { return Bootstrap.getSettings().getBootstrapLessCompilerSettings().getLessCompiler(); } throw new IllegalStateException("there is no application assigned to current thread."); }
/** * @return the {@link ThemeProvider} implementation */ private ThemeProvider themeProvider() { if (Application.exists()) { return Bootstrap.getSettings().getThemeProvider(); } else { throw new WicketRuntimeException("no application assigned to current thread"); } }
/** * renders all core bootstrap resource references * * @param component current component * @param response The current {@link IHeaderResponse} */ public static void renderHead(final Component component, final IHeaderResponse response) { BootstrapResourcesBehavior.instance().renderHead(getSettings(component.getApplication()), response); }
/** * renders all core bootstrap resource references * * @param response The current {@link IHeaderResponse} */ public static void renderHead(final IHeaderResponse response) { BootstrapResourcesBehavior.instance().renderHead(getSettings(Application.get()), response); } }
@Override public void renderHead(IHeaderResponse response) { super.renderHead(response); if (Bootstrap.getSettings(getApplication()).useModernizr()) { response.render(JavaScriptHeaderItem.forReference(ModernizrJavaScriptReference.INSTANCE)); } } }
@Override public String asText() { InputStream stream = null; try { stream = getInputStream(); return IOUtils.toString(stream, Bootstrap.getSettings(Application.get()).getBootstrapLessCompilerSettings().getCharset().name()); } catch (IOException e) { throw new WicketRuntimeException(e); } finally { IOUtils.closeQuietly(stream); } }
@Override public void renderHead(final Component component, final IHeaderResponse response) { super.renderHead(component, response); response.render(CssHeaderItem.forReference(BootstrapPrettifyCssReference.INSTANCE)); References.renderWithFilter(Bootstrap.getSettings(), response, JavaScriptHeaderItem.forReference(BootstrapPrettifyJavaScriptReference.INSTANCE)); response.render(OnDomReadyHeaderItem.forScript("window.prettyPrint && prettyPrint();")); }
@Override protected void onConfigure() { super.onConfigure(); if (Bootstrap.getSettings(getApplication()).useModernizr()) { add(new CssClassNameAppender("no-js")); } if (locale != null) { add(new AttributeModifier("lang", toAttributeValue(locale()))); } add(new CssClassNameAppender(createBrowserShortcut(clientProperties))); add(new CssClassNameAppender("theme-" + Bootstrap.getSettings().getActiveThemeProvider().getActiveTheme().name())); }
/** * {@inheritDoc} */ @Override public void renderHead(final IHeaderResponse response) { super.renderHead(response); response.render(CssReferenceHeaderItem.forReference(Html5PlayerCssReference.instance())); References.renderWithFilter(Bootstrap.getSettings(), response, JavaScriptReferenceHeaderItem.forReference(Html5PlayerJavaScriptReference.instance())); response.render(OnDomReadyHeaderItem.forScript($(container).chain(videoUI(config)).get())); }