EditorBaseBloc<T extends ModelBase, U> constructor

EditorBaseBloc<T extends ModelBase, U>(
  1. String appId,
  2. RepositoryBase<T, U> repository,
  3. EditorFeedback feedback
)

Implementation

EditorBaseBloc(this.appId, this.repository, this.feedback)
    : super(EditorBaseUninitialised()) {
  on<EditorBaseInitialise<T>>((event, emit) async {
    // retrieve the model, as it was retrieved without links
    var modelWithLinks = await repository.get(event.model.documentID);
    if (modelWithLinks == null) {
      modelWithLinks = newInstance(
        StorageConditionsModel(
            privilegeLevelRequired:
                PrivilegeLevelRequiredSimple.noPrivilegeRequiredSimple),
      );
    } else {
      modelWithLinks = setDefaultValues(
          modelWithLinks,
          StorageConditionsModel(
              privilegeLevelRequired:
                  PrivilegeLevelRequiredSimple.noPrivilegeRequiredSimple));
    }
    emit(EditorBaseInitialised(
      model: modelWithLinks,
    ));
  });
}