ResponsiveValue<T> constructor

ResponsiveValue<T>(
  1. BuildContext context, {
  2. required List<Condition<T>> conditionalValues,
  3. T? defaultValue,
})

Implementation

ResponsiveValue(this.context,
    {required this.conditionalValues, this.defaultValue}) {
  // Breakpoint reference check. Verify a parent
  // [ResponsiveBreakpoint] exists if a reference is found.
  if (conditionalValues.firstWhereOrNull((element) => element.name != null) !=
      null) {
    try {
      ResponsiveBreakpoints.of(context);
    } catch (e) {
      throw FlutterError.fromParts(<DiagnosticsNode>[
        ErrorSummary(
            'A conditional value was caught referencing a nonexistent breakpoint.'),
        ErrorDescription(
            'ResponsiveValue requires a parent ResponsiveBreakpoint '
            'to reference breakpoints. Add a ResponsiveBreakpoint or remove breakpoint references.')
      ]);
    }
  }

  List<Condition> conditions = [];
  conditions.addAll(conditionalValues);
  // Get visible value from active condition.
  value = (getValue(context, conditions) ?? defaultValue) as T;
}