ProgrammingBlock constructor
ProgrammingBlock({
- Key? key,
- required Widget builder(),
- required ProgrammingBlockModel? blockModel,
- required Color color,
Implementation
ProgrammingBlock({
Key? key,
required Widget Function() builder,
required this.blockModel,
required this.color,
}) : panelArgumentsNotifier = ValueNotifier(
blockModel?.panelArguments ?? {},
),
super(
child: Builder(builder: (context) {
final programmingBlocks = ProgrammingBlocksDependency.of(context)!;
return blockModel?.configurationUuid !=
ProgrammingBlocksDependency.noConfigUUid &&
blockModel?.configurationUuid != null
? ValueListenableBuilder<ConfigurationBlockModel?>(
valueListenable:
programmingBlocks.panelController.listenerByConfig(
uuid: blockModel!.configurationUuid,
)!,
builder: (_, configurationBlockModel, __) {
blockModel.name =
configurationBlockModel?.blockName ?? '';
if (configurationBlockModel == null) {
programmingBlocks.removeBlock(
context,
blockModel: blockModel,
waitRedraw: true,
);
return const SizedBox.shrink();
}
return builder();
})
: builder();
}),
key: key,
);