BetaBetaactionThe Action currently in context.
BetacontextThe component's LimeWebComponentContext, describing where it sits in the application. Subtree-scoped: descendants resolve the nearest enclosing value.
BetacoworkerThe current coworker, the business-side LimeObject row
linked from User.coworker, distinct from the
authentication-side User. Filter primitives substitute
this value for $me placeholders.
App-global in scope, one per session, supplied by the host. The
provider returns undefined until the value has loaded; reads
during that window are fail-closed.
BetalimeobjectThe LimeObject currently in context.
BetalimeobjectThe in-memory, possibly-edited version of
limeobject, what is currently
in the user's form state, distinct from the persisted row
supplied via limeobject. Used by is-saved-shaped primitives
to determine whether the user has unsaved changes by comparing
field-by-field against limeobject.
Surface-scoped: the form component contributes the value via
provide. Reads outside a form
surface fail closed (undefined).
BetaplatformThe application's LimeWebComponentPlatform. App-global in scope, one per session.
BetascalarA single scalar value a component contributes for descendants to read, an info tile exposing the figure it displays, say, so a descendant can format, compare, or react to it.
Subtree-scoped: descendants resolve the nearest enclosing value.
The type is kept wide so any provider can contribute whatever
scalar it has. A provider may set null as a present "no value"
reading; an absent value reads as undefined, supplied by the
read layer, so it is not part of this type.
ContextRegistry.get for how absence reads as
undefined.
BetauserThe currently authenticated User.
The catalog of context entries available to consumers.
A context entry is ambient state available to consumers anywhere in the component tree, the current user, the object on screen, the action being filtered. Each key here is a context id; the value type is what ContextRegistry.get(key) (or any other lookup such as ContextScope.get) returns for it.
Plugins add their own keys by extending this interface:
Example
Use namespaced keys (
mypkg.foo,pluginx.bar) for plugin-added entries. Two plugins declaring the same key with different value types will collide at compile time. The built-in keysuser,limeobject,action,coworker,limeobjectFormData, andscalarValueare first-party and intentionally use short, unnamespaced ids. The namespacing convention only applies to non-built-in keys.See