OrgFeatureGate class
Wraps an org-scoped feature screen with an entitlement check.
If the org has the required entitlement, renders child unchanged. Otherwise swaps in an UpgradePrompt that routes the caller to the right billing screen (org admins) or to a "contact your admin" message (non-admins). The server-side RLS still enforces the gate if this widget is bypassed — it's purely a UX hint.
Usage:
body: OrgFeatureGate(
orgId: widget.orgId,
feature: 'SSO/SAML',
check: (ent) => ent.canUseSso,
child: _ssoConfigForm(),
),
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ConsumerStatefulWidget
- ConsumerWidget
- OrgFeatureGate
- Available extensions
Constructors
- OrgFeatureGate({Key? key, required String orgId, required String feature, required bool check(OrgEntitlement), required Widget child})
-
const
Properties
- check → bool Function(OrgEntitlement)
-
Entitlement check against the org's resolved plan. Receives the org's
OrgEntitlement and returns true if access is allowed.
final
- child → Widget
-
final
- feature → String
-
Human-readable feature name shown in the upgrade prompt.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- orgId → String
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
animate(
{Key? key, List< Effect> ? effects, AnimateCallback? onInit, AnimateCallback? onPlay, AnimateCallback? onComplete, bool? autoPlay, Duration? delay, AnimationController? controller, Adapter? adapter, double? target, double? value}) → Animate -
Available on Widget, provided by the AnimateWidgetExtensions extension
Wraps the target Widget in an Animate instance, and returns the instance for chaining calls. Ex.myWidget.animate()is equivalent toAnimate(child: myWidget). -
build(
BuildContext context, WidgetRef ref) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → ConsumerStatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → _ConsumerState -
Creates the mutable state for this widget at a given location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited