VisibilityChangeModal class

Risk-aware confirmation dialog shown before increasing a domain's visibility (private → shared, private → public, or shared → public).

Reducing visibility (public → private, shared → private, public → shared) does NOT show this dialog — those transitions remove access and don't require a warning.

The dialog explains exactly who will gain access and reminds the user that the change is recorded in the audit log for compliance.

Usage:

final confirmed = await VisibilityChangeModal.show(
  context,
  domainName: domain.name,
  from: 'private',
  to: 'public',
);
if (confirmed) { /* proceed */ }
Inheritance
Available extensions

Constructors

VisibilityChangeModal({Key? key, required String domainName, required String from, required String to})
const

Properties

domainName String
Name of the domain being changed (shown in the title).
final
from String
Current visibility: 'private', 'shared', or 'public'.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
to String
Target visibility: 'private', 'shared', or 'public'.
final

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 to Animate(child: myWidget).
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's 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

Static Methods

isIncreasingVisibility(String from, String to) bool
Returns true when to is more exposed than from. Only increasing transitions need user confirmation — lowering visibility reduces access and does not.
show(BuildContext context, {required String domainName, required String from, required String to}) Future<bool>
Opens the dialog and returns true if the user explicitly confirmed. Returns false on cancel or barrier dismissal.