addInstance method

  1. @override
Future<FunctionConfigBlockModel?> addInstance(
  1. BuildContext context
)
inherited

Implementation

@override
Future<FunctionConfigBlockModel?> addInstance(BuildContext context) async {
  final functionConfigBlockModel = await AddModifyFunctionDialog(
    defaultFunctionSize:
        ProgrammingBlocksDependency.of(context)!.defaultFuntionSize,
  ).showAddModify(
    context,
    dialogType: DialogType.add,
  );

  if (functionConfigBlockModel != null) {
    final programmingBlocks = ProgrammingBlocksDependency.of(context)!;
    programmingBlocks.projectModel.functionsCanvas.add(
      functionConfigBlockModel.toCanvasModel,
    );

    programmingBlocks.canvasController.functionsListListenable.value = [
      ...programmingBlocks.projectModel.functionsCanvas
          .where((element) => true)
          .toList()
    ];

    return functionConfigBlockModel;
  }
  return null;
}