WorkflowTasksCreateBloc constructor

WorkflowTasksCreateBloc(
  1. AppModel app,
  2. List<WorkflowTaskModel> workflowTasksModel
)

Implementation

WorkflowTasksCreateBloc(
  this.app,
  this.workflowTasksModel,
) : super(WorkflowTasksCreateUninitialised()) {
  on<WorkflowTasksCreateInitialiseEvent>((event, emit) {
    //var appId = app.documentID;
    emit(WorkflowTasksCreateInitialised(
        workflowTaskModels: event.workflowTasksModel));
  });

  on<WorkflowTasksCreateDeleteMenuItem>((event, emit) {
    emit(_newStateDeleteItem(event.workflowTaskModel));
    apply();
  });

  on<WorkflowTasksMoveItem>((event, emit) {
    WorkflowTasksCreateInitialised theState =
        state as WorkflowTasksCreateInitialised;
    List<WorkflowTaskModel> workflowTaskModels =
        List.of(theState.workflowTaskModels);
    int positionToMove = workflowTaskModels.indexOf(event.workflowTaskModel);
    if (event.moveItemDirection == MoveItemDirection.up) {
      if (positionToMove > 0) {
        workflowTaskModels.swap(positionToMove - 1, positionToMove);
      }
    } else if (event.moveItemDirection == MoveItemDirection.down) {
      if (positionToMove < workflowTaskModels.length - 1) {
        workflowTaskModels.swap(positionToMove + 1, positionToMove);
      }
    }
    _renumber(workflowTaskModels);
    emit(_newStateWithItems(workflowTaskModels,
        currentlySelected: event.workflowTaskModel));
    apply();
  });

  on<WorkflowTasksUpdateItem>((event, emit) {
    WorkflowTasksCreateInitialised theState =
        state as WorkflowTasksCreateInitialised;
    List<WorkflowTaskModel> workflowTaskModels =
        List.of(theState.workflowTaskModels);
    int positionToReplace =
        workflowTaskModels.indexOf(event.beforeWorkflowTaskModel);
    workflowTaskModels.replace(
        positionToReplace, event.afterWorkflowTaskModel);
    emit(_newStateWithItems(workflowTaskModels,
        currentlySelected: event.afterWorkflowTaskModel));
    apply();
  });

  on<WorkflowTasksCreateAddWorkflowTask>((event, emit) {
    WorkflowTasksCreateInitialised theState =
        state as WorkflowTasksCreateInitialised;
    List<WorkflowTaskModel> workflowTaskModels =
        List.of(theState.workflowTaskModels);
    workflowTaskModels.add(event.workflowTaskModel);
    _renumber(workflowTaskModels);
    emit(_newStateWithItems(workflowTaskModels,
        currentlySelected: event.workflowTaskModel));
    apply();
  });
}