registerBloc method
Register business module
Implementation
void registerBloc(Bloc bloc) {
if (blocMap[bloc.moduleName] == null) {
blocMap[bloc.moduleName] = bloc;
ReduxBloc reduxBloc = bloc.initialReduxBloc();
reduxBloc.initBloc();
// Register redux BLoC
reduxBlocList.add(reduxBloc);
// Register page
Map<String, BlocPageBuilder> pageList = bloc.initialPageList();
for (final pageName in pageList.keys) {
if (pageMap['${bloc.moduleName}/$pageName'] == null) {
pageMap['${bloc.moduleName}/$pageName'] = pageList[pageName]!;
} else {
assert(false, 'same page name');
}
}
// Register popup box
Map<String, BlocPopupBoxBuilder> popupBoxList = bloc.initialPopupBoxList();
for (final String popupBoxName in popupBoxList.keys) {
if (popUpBoxMap['${bloc.moduleName}/$popupBoxName'] == null) {
popUpBoxMap['${bloc.moduleName}/$popupBoxName'] = popupBoxList[popupBoxName]!;
} else {
assert(false, 'same popup box name');
}
}
// Register widget
Map<String, BlocWidgetBuilder> widgetList = bloc.initialWidgetList();
for (final String widgetName in widgetList.keys) {
if (widgetMap['${bloc.moduleName}/$widgetName'] == null) {
widgetMap['${bloc.moduleName}/$widgetName'] = widgetList[widgetName]!;
} else {
assert(false, 'same widget name');
}
}
// Register function
Map<String, BlocFunction> functionList = bloc.initialFunctionList();
for (final String functionName in functionList.keys) {
if (functionMap['${bloc.moduleName}/$functionName'] == null) {
functionMap['${bloc.moduleName}/$functionName'] = functionList[functionName]!;
} else {
assert(false, 'same function name');
}
}
} else {
assert(false, 'same BLoC name');
}
}