Package org.apache.juneau.console.freemarker


package org.apache.juneau.console.freemarker
FreeMarker-only delivery of the admin-console chrome: the reserved-classpath base.ftlh template, the <@tag> macro, and ConsoleFreemarkerMixin (registers a reserved-path ClassTemplateLoader on top of the host's own FreemarkerMixin configuration).

Depends on juneau-console + juneau-rest-server-view-freemarker only — never juneau-console-datatables. A consumer who wants only chrome pulls this module and does not drag in DataTables.

Since:
10.0.0
  • Class
    Description
    The built-in annotations decorator: ECharts markPoint presets (max, min, average) on every series, or explicit points on a carrier series juneau-annotations-<n>.
    The assetUrl(path) FreeMarker method: appends ?v=<crc32> of an adopter's own bundled static asset to its URL path, so a browser cannot keep a stale copy after a deploy.
    The <@badge> FreeMarker twin of PageSpec.badge(BadgeDef): every scalar or enum BadgeDef field is a plain attribute (the label templates as labelOne, labelOther and labelMine, the scope as scopeParam and scopeBy, the state filter as stateFilterColumn).
    The built-in bands decorator: shaded x ranges from a list, a same-origin src, a data: topic, or the gaps in the first series (Bands.gaps()).
    <@bridge id transport session downstream upstream? maxAttempts?/>: declares a server bridge in the contract's bridges list.
    The <@card> FreeMarker directive: adds one entry to the page contract's cards[].
    A rail section holding one ordinary card.
    Type-agnostic card entry in the page contract: id, type, optional src, title, template, plus a type-specific body map.
    The built-in chart card type: a JSON5 body naming a helper, a legacy flat kind, or a raw ECharts option, with data from exactly one of src=, an inline data array or a source (data: topic).
    Typed builder for a chart card.
    A rail section of checkboxes over the distinct values of one dictionary column of a data source.
    The <@console> document-shell FreeMarker directive.
    A FreemarkerMixin that additionally makes the reserved-classpath admin-console chrome template (org/apache/juneau/console/base.ftlh) — and the <@tag> macro it defines — resolvable from any consumer template, without shadowing the consumer's own basePath-rooted template tree.
    The capture-only console slot directives: <@head>, <@scripts>, <@brand>, <@actions>, <@title>, <@footer>, and <@body>.
    Static lint for console FreeMarker templates.
    One lint finding.
    A dashboard: a rail of filter sections beside a grid of card panels, with a status header and optional persistence.
    Declares a console data source: a browser loader that fetches rows from a same-origin URL, builds a columnar frame and publishes it on the topic data:<id>, which chart cards read with ChartDef.source(...).
    The aggregate request: a bucket unit, up to 3 groupBy dims, and the measures.
    Where closed chunks are kept.
    How the window is split into requests; UTC calendar units.
    The built-in parser for each wire format.
    How the frame is produced.
    The built-in datatables card type, registered through META-INF/services: validates the author catalog and resolves per-column search metadata, with no shape lift — the catalog stays in author shape (key/label, not VIEW_META's data/title); NS.card.liftCatalog (juneau-views.js) does the lift at mount time.
    A chart decorator entry: one element of a chart card's decorators[], run in the browser by the decorator registered under its use name (JuneauCharts.decorator).
    Declares a derived data source: transforms run in the browser on each new frame of another source, published on data:<as>.
    The <@facts> FreeMarker twin of the <@console facts=> attribute: a JSON5 object body, merged last-wins with any other chrome-side facts.
    Builds $fn markers: JSON values the chart glue replaces with a function from JuneauCharts.fn.
    The jcHasToolkit(name) FreeMarker method: whether the current <@page toolkit=…> lists name.
    The built-in job-log card type: a form that submits to an endpoint returning an AsyncJobRef, then streams the job's progress from AsyncJobsMixin into a log pane, with cancel and reload re-attach.
    The <@main/> console FreeMarker directive: the positional placeholder that renders the captured page body inside exactly one <main class="jc-main">.
    The built-in markers decorator: vertical mark lines at x values from a list, a same-origin src, a data: topic, or the current time.
    The <@navigation> console FreeMarker directive: opens the nav tree on the PageCapture.
    One node in the console navigation tree.
    The recursive <@node> console FreeMarker directive: one entry in a <@navigation> tree, of any depth, or (with under=) a page-scoped addition appended under an existing chrome nav node.
    Typed, per-render capture of one console page: theme, header, footer, nav tree, active nav, cards and slot templates, held as FreeMarker Environment custom state (see PageCapture.KEY) so every directive in the render shares one instance.
    Mutable footer fields; mirrors $defs/footer.
    Mutable header fields; mirrors $defs/header.
    A nav-tree mutation deferred until the chrome's nav tree exists.
    The <@page> shared FreeMarker directive: capture the nested body into PageCapture, resolve the toolkit= packs, then include the consumer chrome template.
    Java description of one console page: the active tab, toolkits, page CSS and init scripts, per-request header fields, the stock theme by name, and the page's cards (tables, html and registered custom types) and body attributes.
    Save and restore of a dashboard's state topics.
    The rail of a dashboard: a column of Sections beside the panel grid, with a splitter.
    A rail section of quick time-range presets, with an optional custom from/to.
    A rail section with one text input.
    A section of a dashboard Rail.
    A section implemented in JS.
    The built-in terminal card type: validates a {contractVersion:'1', terminal:{...}} body through TerminalDef and emits {terminal: ...}.
    The <@theme name="…"> chrome FreeMarker directive: names the active stock theme once, in the chrome, points the chrome at that theme's shipped stylesheet, and — when a nested <@token> body is present — builds a Theme of custom overrides on top of it.
    The built-in thresholds decorator: a horizontal mark line at a y value, on a carrier series juneau-thresholds-<n>.
    The <@token name="--jc-…" value="…"/> / <@token name="--jc-…" alias="var(--jc-…)"/> chrome FreeMarker directive: one custom theme-token override authored inside a <@theme> element.
    One named toolkit pack: ordered CSS and JS asset paths, the packs it depends on, its ToolkitPack.Kind, and the resolver that turns each path into a URL.
    Builder for ToolkitPack.
    Where a pack's assets are emitted on the page.
    Registry of named toolkit packs for the <@page toolkit=...> directive and for the packs cards require.
    Resolves an asset path to an absolute, cache-busted URL against the in-flight request.
    Resolved absolute URLs, split by pack kind.
    <@topic name="..." retain=true|false publisher="script|server|ribbon"/>: declares a page-level custom topic in the contract's topics list.