/** * Configures the page and all its components */ @Override @SuppressWarnings("unchecked") public void preConfigure() { if (!isInitialized()) { init(); } if (!isConfigured()) { configurePage(); getHead().preConfigure(); getBody().preConfigure(); configurePageHeader(); addVariablesScriptToPage(); } super.preConfigure(); setConfigured(true); }
/** * Returns the document type that will be rendered with this HTML page real-time * <p> * * @return Document Type */ @Override @NotNull public DocumentType getDocumentType() { return new DocumentType(getBrowser().getHtmlVersion()); }
@Override public String toString() { if (page != null) { page.toString(true); } return super.toString(); }
@NotNull @Override public Page configure(Page page) { if (!page.isConfigured()) { page.getBody() .addJavaScriptReference(EasingPageConfigurator.reference); } return page; }
/** * Initialize all children */ @Override public void init() { if (!pageInitialized) { getHead().init(); getBody().init(); pageInitialized = true; } setInitialized(true); }
@NotNull @Override @SuppressWarnings("unchecked") public Page<?> configure(Page<?> page) { if (!page.isConfigured()) { ComponentHierarchyBase addable; if (page.getOptions() .isScriptsInHead()) { addable = page.getHead(); } else { addable = page.getBody(); } getScripts(page, addable); for (Object o : page.getHead() .getChildren()) { ComponentHierarchyBase headObject = (ComponentHierarchyBase) o; headObject.preConfigure(); } } return page; }
public Page configure(Page page) if (!page.isConfigured()) compatMeta.addAttribute(MetaAttributes.Content, "IE=Edge"); page.getHead() .add(charMeta); page.getHead() .add(compatMeta); page.getHead() .add(viewportMeta); page.getBody() .addJavaScriptReference(BootstrapReferencePool.BootstrapCoreReference.getJavaScriptReference()); page.getBody() .addCssReference(BootstrapReferencePool.BootstrapCoreReference.getCssReference()); if (page.getBrowser() .compareTo(Browsers.InternetExplorer9) < 1) page.getBody() .addJavaScriptReference(new JavascriptReference("html5shim", 1.0, "https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js", RequirementsPriority.Fourth)); page.getBody() .addJavaScriptReference(new JavascriptReference("html5shimrespond", 1.0, "https://oss.maxcdn.com/respond/1.4.2/respond.min.js", RequirementsPriority.Fourth));
/** * Returns the CSS references from the bdoy * * @return A set of references * * @see com.jwebmp.core.base.ComponentDependancyBase#getCssReferences() */ @Override public Set<CSSReference> getCssReferences() { return getBody().getCssReferences(); }
@NotNull @Override @SuppressWarnings("unchecked") public Page<?> configure(Page<?> page) { if (!page.isConfigured()) { List<ComponentHierarchyBase<?, ?, ?, ?, ?>> reqs = getPriorityRequirements(page, RequirementsPriority.Top_Shelf, new ArrayList<>(), true, true); if (!reqs.isEmpty()) { page.getHead() .add(new Comment("Priority [" + RequirementsPriority.Top_Shelf + "] Values")); } page.getHead() .getChildren() .addAll(reqs); } return page; } }
@Override public @NotNull Set<ComponentHierarchyBase<IComponentHierarchyBase, ?, ?, ?, ?>> getChildrenHierarchy() { Set<ComponentHierarchyBase<IComponentHierarchyBase, ?, ?, ?, ?>> pageChildren = new LinkedHashSet<>(); pageChildren.addAll(getHead().getChildrenHierarchy(true)); pageChildren.addAll(getBody().getChildrenHierarchy(true)); pageChildren.add(this); return pageChildren; }
writeOutput(new StringBuilder(p.toString(0)), StaticStrings.HTML_HEADER_DEFAULT_CONTENT_TYPE, StaticStrings.UTF8_CHARSET); return; .equals(ajaxCall.getComponentId())) triggerComponent = page.getBody(); writeOutput(new StringBuilder(p.toString(0)), StaticStrings.HTML_HEADER_DEFAULT_CONTENT_TYPE, StaticStrings.UTF8_CHARSET); return; .forEach(AjaxCallIntercepter::intercept); page.onConnect(ajaxCall, ajaxResponse);
/** * Processes requests for the WebSwing Servlet. * * @param request * The Default Servlet request * @param response * The Default Servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) { try { readRequestVariables(request); readBrowserInformation(request); } catch (MissingComponentException mce) { JWDefaultServlet.log.log(Level.SEVERE, "No Page For Servlet", mce); Page p = new Page(); p.getBody() .add("No Page or Body Configured for the JWebSwingServlet. [getPage()] returned nothing"); writeOutput(new StringBuilder(p.toString(0)), StaticStrings.HTML_HEADER_DEFAULT_CONTENT_TYPE, StaticStrings.UTF8_CHARSET); } catch (Exception t) { JWDefaultServlet.log.log(Level.SEVERE, "Unable to render page", t); response.setContentType(StaticStrings.HTML_HEADER_DEFAULT_CONTENT_TYPE); writeOutput(new StringBuilder(getErrorPageHtml(t).toString(0)), StaticStrings.HTML_HEADER_DEFAULT_CONTENT_TYPE, StaticStrings.UTF8_CHARSET); } }
public Page configure(Page page) if (page.getOptions() .isLocalStorage()) page.getBody() .addJavaScriptReference(JQueryReferencePool.PersistJS.getJavaScriptReference()); if (page.getBrowser() != null) page.getBody() .addJavaScriptReference(JQueryReferencePool.JQueryV3.getJavaScriptReference()); if (JQueryPageConfigurator.renderMigrate) page.getBody() .addJavaScriptReference(JQueryReferencePool.JQueryMigrate.getJavaScriptReference()); page.getBody() .addJavaScriptReference(JQueryReferencePool.JQueryV2.getJavaScriptReference());
.hasNext()) Page<?> p = new Page(); p.getPageFields() .setTitle("Exception occurred in application"); p.getPageFields() .setAuthor("Marc Magon"); p.getPageFields() .setDescription("JWebSwing Error Generated Page"); p.getPageFields() .setGenerator("JWebSwing - https://sourceforge.net/projects/jwebswing/"); Body b = p.getBody(); b.add("The following error was encountered during render<br/><hr/>"); b.add(new PreFormattedText(TextUtilities.stackTraceToString(t)));
/** * When to perform any commands */ @Override public void perform() { Page page = GuiceContext.get(Page.class); HttpServletRequest request = GuiceContext.get(GuicedServletKeys.getHttpServletRequestKey()); readBrowserInformation(request); GuiceContext.get(AjaxCallInterceptorKey) .forEach(AjaxCallIntercepter::intercept); if (!page.isConfigured()) { page.preConfigure(); } FileTemplates.removeTemplate(JavaScriptServlet.scriptReplacement); FileTemplates.getFileTemplate(JavaScriptServlet.class, JavaScriptServlet.scriptReplacement, "javascriptScript"); FileTemplates.getTemplateVariables() .put(JavaScriptServlet.scriptReplacement, page.renderJavascript()); StringBuilder scripts = FileTemplates.renderTemplateScripts(JavaScriptServlet.scriptReplacement); writeOutput(scripts, StaticStrings.HTML_HEADER_JAVASCRIPT, Charset.forName("UTF-8")); FileTemplates.getTemplateVariables() .remove(JavaScriptServlet.scriptReplacement); } }
/** * Returns if the head object is empty * * @return if the head is empty */ private boolean isHeadEmpty() { return getHead().getChildren() .isEmpty(); }
/** * Get the page this component exists on * <p> * * @return A Page */ @Override @NotNull public Page getPage() { if (page == null) { setPage(new Page()); } return page; }
@NotNull @Override @SuppressWarnings("unchecked") public Page<?> configure(Page<?> page) { if (!page.isConfigured()) { ComponentHierarchyBase addable; if (page.getOptions() .isScriptsInHead()) { addable = page.getHead(); } else { addable = page.getBody(); } getScripts(page, addable); for (Object o : page.getHead() .getChildren()) { ComponentHierarchyBase headObject = (ComponentHierarchyBase) o; headObject.preConfigure(); } } return page; }
public Page configure(Page page) if (!page.isConfigured()) compatMeta.addAttribute(MetaAttributes.Content, "IE=Edge"); page.getHead() .add(charMeta); page.getHead() .add(compatMeta); page.getHead() .add(viewportMeta); page.getBody() .addJavaScriptReference(BootstrapReferencePool.BootstrapCoreReference.getJavaScriptReference()); page.getBody() .addCssReference(BootstrapReferencePool.BootstrapCoreReference.getCssReference()); if (page.getBrowser() .compareTo(Browsers.InternetExplorer9) < 1) page.getBody() .addJavaScriptReference(new JavascriptReference("html5shim", 1.0, "https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js", RequirementsPriority.Fourth)); page.getBody() .addJavaScriptReference(new JavascriptReference("html5shimrespond", 1.0, "https://oss.maxcdn.com/respond/1.4.2/respond.min.js", RequirementsPriority.Fourth));
/** * Returns all the feature queries associated to this component and all its children * * @return The bodies list of queries */ @NotNull @Override public Set<StringBuilder> getQueriesAll() { return getBody().getQueriesAll(); }