AAPaneTemplate constructor

AAPaneTemplate({
  1. required String title,
  2. required List<AAPaneItem> items,
  3. List<AAPaneAction> actions = const [],
  4. String? imageUrl,
  5. AutoImageTint? imageTint,
  6. bool isLoading = false,
  7. String? id,
})

Implementation

AAPaneTemplate({
  required this.title,
  required this.items,
  this.actions = const [],
  this.imageUrl,
  this.imageTint,
  this.isLoading = false,
  String? id,
})  : assert(title.isNotEmpty, 'AAPaneTemplate.title cannot be empty'),
      assert(
        isLoading || items.isNotEmpty,
        'AAPaneTemplate.items cannot be empty unless isLoading is true',
      ),
      assert(
        !isLoading || items.isEmpty,
        'AAPaneTemplate.items must be empty when isLoading is true',
      ),
      assert(
        actions.length <= 2,
        'AAPaneTemplate.actions cannot contain more than 2 actions',
      ),
      assert(
        actions.where((AAPaneAction action) => action.isPrimary).length <= 1,
        'AAPaneTemplate.actions cannot contain more than 1 primary action',
      ),
      _elementId = id ?? const Uuid().v4();