Documentation for a historical release of Infusion: 1.4
Please view the Infusion Documentation site for the latest documentation, or the Infusion 1.3. Documentation for the previous release.
If you're looking for Fluid Project coordination, design, communication, etc, try the Fluid Project Wiki.

Table of Contents Model Builder


The Model Builder subcomponent is used by Table of Contents to convert a flat list of headings into a hierarchical list suitable for the Table of Contents.

Do not use this component directly. The information on this page should be use when customizing Table of Contents.

See Also
Table of Contents
UI Enhancer

Supported Events

none

#Methods

#modelLevelFn
Used to determine how to nest heading.

#toModel
Use to actually build the nested model.

Options

none

Methods

back to top

This component has public methods that can be invoked by integrators as necessary. Some of these methods may be implemented as Invokers, which resolve their arguments from the environment at invocation time. These methods can be configured by the integrator if necessary: arguments can be changed, and in fact the entire implementation function can be replaced by a custom function (though it is likely rare that this would be necessary or desirable).

Configuration of invokers is carried out using Demands Specifications, using the following pattern:

fluid.demands("component.name", [<context>], {
    invokers: {
        <invokerName>: {
            funcName: <implementation function name>,
            args: [<array of argument specifications>]
        }
    }
});

modelLevelFn

Description

Used by the #toModel method to decide how deeply to nest a heading in the Table of Contents. The default implementation creates a nested hierarchy that uses incremental depths, independent of the actual heading levels.

Parameters

modelLevel
An array used to keep track of actual hierarchy levels, when those are being preserved.

subHeadings
An array used to keep track of adjusted, gradual headings, when gradual nesting is used.

Configurable

yes
Default implementation: fluid.tableOfContents.modelBuilder.gradualModelLevelFn

Notes

The Model Builder also defines an alternative implementation: fluid.tableOfContents.modelBuilder.skippedModelLevelFn, which produces a hierarchy that exactly reflects heading levels.

toModel

Description

Used by the Model Builder to ...

Parameters

headingInfo
A flat array of objects describing all headings to be included in the table of contents

modelLevelFn
The function to use to determine the nesting of the table of contents.

Configurable

yes
Default implementation: "fluid.tableOfContents.modelBuilder.toModel".

See also

#modelLevelFn