fromMap method

  1. @override
AppModule? fromMap(
  1. dynamic map
)
override

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),
  );
}