actionBlock method

ActionBlockHandle actionBlock(
  1. String name, {
  2. Map<String, DslType>? params,
  3. DslType? returns,
  4. Object? actions,
  5. String description = '',
})

Declares a component-scoped action block.

Implementation

ActionBlockHandle actionBlock(
  String name, {
  Map<String, DslType>? params,
  DslType? returns,
  Object? actions,
  String description = '',
}) {
  _ensureScopedActionBlockUnique(declaration.actionBlocks, name, this.name);
  final declarationToAdd = ActionBlockDeclaration(
    name: name,
    key: generateRandomAlphaNumericString(),
    scope: ActionBlockLookupScope.local,
    ownerWidgetClassName: this.name,
    params: params,
    returns: returns,
    actions: normalizeActionSequence(actions, parameterName: 'actions'),
    description: description,
  );
  declaration._actionBlocks.add(declarationToAdd);
  return ActionBlockHandle(
    name: name,
    key: declarationToAdd.key,
    scope: ActionBlockLookupScope.local,
    ownerWidgetClassName: this.name,
    params: declarationToAdd.params,
    returnType: returns,
    returnName: returns == null ? null : _kActionBlockReturnName,
  );
}