fromMap method
Convert the module information from DynamicMap
.
Implementation
@override
AppModule? fromMap(DynamicMap map) {
if (map.get("type", "") != type || !map.containsKey("name")) {
return null;
}
return AppModule(
title: map.get("name", ""),
initialRoute: map.get("initialRoute", "/"),
logoUrl: map.get<String?>("logoUrl", null),
menus: map
.getAsList<DynamicMap>("menu")
.mapAndRemoveEmpty((item) => item.toMenuConfig()),
officialUrl: map.get<String?>("officialUrl", null),
supportUrl: map.get<String?>("supportUrl", null),
privacyPolicyUrl: map.get<String?>("privacyUrl", null),
termsUrl: map.get<String?>("termsUrl", null),
roles: map
.getAsList<DynamicMap>("role")
.mapAndRemoveEmpty((item) => item.toRoleConfig()),
lightTheme: map.getAsMap("lightTheme").toThemeColor(),
darkTheme: map.getAsMap("darkTheme").toThemeColor(),
themeMode: ThemeMode.values.firstWhere(
(e) => e.index == map.get<int>("themeMode", ThemeMode.system.index)),
designType: DesignType.values.firstWhere((e) =>
e.index == map.get<int>("designType", DesignType.modern.index)),
webStyle: map.get("webStyle", true),
);
}