init method

dynamic init(
  1. ComponentConstructor feedFrontComponentConstructorDefault,
  2. ComponentEditorConstructor feedFrontComponentEditorConstructor,
  3. ComponentConstructor feedMenuComponentConstructorDefault,
  4. ComponentEditorConstructor feedMenuComponentEditorConstructor,
  5. ComponentConstructor profileComponentConstructorDefault,
  6. ComponentEditorConstructor profileComponentEditorConstructor,
)

Implementation

init(
  ComponentConstructor feedFrontComponentConstructorDefault,
  ComponentEditorConstructor feedFrontComponentEditorConstructor,
  ComponentConstructor feedMenuComponentConstructorDefault,
  ComponentEditorConstructor feedMenuComponentEditorConstructor,
  ComponentConstructor profileComponentConstructorDefault,
  ComponentEditorConstructor profileComponentEditorConstructor,
) {
  Apis.apis().getRegistryApi().addInternalComponents('eliud_pkg_feed_model', [
    "feeds",
    "feedFronts",
    "feedMenus",
    "posts",
    "postComments",
    "postLikes",
    "profiles",
  ]);

  Apis.apis()
      .getRegistryApi()
      .addDropDownSupporter("feedFronts", DropdownButtonComponentFactory());
  Apis.apis().getRegistryApi().register(
      componentName: "feedFronts",
      componentConstructor: feedFrontComponentConstructorDefault);
  Apis.apis()
      .getRegistryApi()
      .addDropDownSupporter("feedMenus", DropdownButtonComponentFactory());
  Apis.apis().getRegistryApi().register(
      componentName: "feedMenus",
      componentConstructor: feedMenuComponentConstructorDefault);
  Apis.apis()
      .getRegistryApi()
      .addDropDownSupporter("profiles", DropdownButtonComponentFactory());
  Apis.apis().getRegistryApi().register(
      componentName: "profiles",
      componentConstructor: profileComponentConstructorDefault);
  Apis.apis()
      .getRegistryApi()
      .addComponentSpec('eliud_pkg_feed_model', 'feed', [
    ComponentSpec(
        'feedFronts',
        feedFrontComponentConstructorDefault,
        FeedFrontComponentSelector(),
        feedFrontComponentEditorConstructor,
        ({String? appId}) => feedFrontRepository(appId: appId)!),
    ComponentSpec(
        'feedMenus',
        feedMenuComponentConstructorDefault,
        FeedMenuComponentSelector(),
        feedMenuComponentEditorConstructor,
        ({String? appId}) => feedMenuRepository(appId: appId)!),
    ComponentSpec(
        'profiles',
        profileComponentConstructorDefault,
        ProfileComponentSelector(),
        profileComponentEditorConstructor,
        ({String? appId}) => profileRepository(appId: appId)!),
  ]);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'feeds',
      ({String? appId}) => feedRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'feedFronts',
      ({String? appId}) => feedFrontRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'feedMenus',
      ({String? appId}) => feedMenuRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'memberProfiles',
      ({String? appId}) => memberProfileRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'posts',
      ({String? appId}) => postRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'postComments',
      ({String? appId}) => postCommentRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'postLikes',
      ({String? appId}) => postLikeRepository(appId: appId)!);
  Apis.apis().getRegistryApi().registerRetrieveRepository(
      'eliud_pkg_feed_model',
      'profiles',
      ({String? appId}) => profileRepository(appId: appId)!);
}