69115: Moving enum options to components

This commit is contained in:
Kristof De Langhe
2020-02-28 11:59:20 +01:00
parent b9c050c19c
commit 496bedfe2e
7 changed files with 22 additions and 30 deletions

View File

@@ -2,14 +2,12 @@ import { EventEmitter, Input, Output } from '@angular/core';
import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model';
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service';
import { WorkflowTaskOptions } from '../workflow-task-options.model';
import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response';
/**
* Abstract component for rendering a claimed task's action
* To create a child-component for a new option:
* - Make sure the option is defined in the WorkflowTaskOptions enum
* - Set the "option" of the component to the enum value
* - Set the "option" of the component
* - Add a @rendersWorkflowTaskOption annotation to your component providing the same enum value
* - Optionally overwrite createBody if the request body requires more than just the option
*/
@@ -17,7 +15,7 @@ export abstract class ClaimedTaskActionsAbstractComponent {
/**
* The workflow task option the child component represents
*/
abstract option: WorkflowTaskOptions;
abstract option: string;
/**
* The Claimed Task to display an action for

View File

@@ -1,10 +1,11 @@
import { Component } from '@angular/core';
import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component';
import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator';
import { WorkflowTaskOptions } from '../workflow-task-options.model';
import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service';
@rendersWorkflowTaskOption(WorkflowTaskOptions.Approve)
export const WORKFLOW_TASK_OPTION_APPROVE = 'submit_approve';
@rendersWorkflowTaskOption(WORKFLOW_TASK_OPTION_APPROVE)
@Component({
selector: 'ds-claimed-task-actions-approve',
styleUrls: ['./claimed-task-actions-approve.component.scss'],
@@ -17,7 +18,7 @@ export class ClaimedTaskActionsApproveComponent extends ClaimedTaskActionsAbstra
/**
* This component represents the approve option
*/
option = WorkflowTaskOptions.Approve;
option = WORKFLOW_TASK_OPTION_APPROVE;
constructor(protected claimedTaskService: ClaimedTaskDataService) {
super(claimedTaskService);

View File

@@ -16,7 +16,7 @@ import { RequestService } from '../../../core/data/request.service';
import { SearchService } from '../../../core/shared/search/search.service';
import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model';
import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service';
import { WorkflowTaskOptions } from './workflow-task-options.model';
import { WORKFLOW_TASK_OPTION_RETURN_TO_POOL } from './return-to-pool/claimed-task-actions-return-to-pool.component';
/**
* This component represents actions related to ClaimedTask object.
@@ -47,7 +47,7 @@ export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent<Claime
* The option used to render the "return to pool" component
* Every claimed task contains this option
*/
public returnToPoolOption = WorkflowTaskOptions.ReturnToPool;
public returnToPoolOption = WORKFLOW_TASK_OPTION_RETURN_TO_POOL;
/**
* Initialize instance variables

View File

@@ -1,10 +1,11 @@
import { Component } from '@angular/core';
import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component';
import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator';
import { WorkflowTaskOptions } from '../workflow-task-options.model';
import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service';
@rendersWorkflowTaskOption(WorkflowTaskOptions.EditMetadata)
export const WORKFLOW_TASK_OPTION_EDIT_METADATA = 'submit_edit_metadata';
@rendersWorkflowTaskOption(WORKFLOW_TASK_OPTION_EDIT_METADATA)
@Component({
selector: 'ds-claimed-task-actions-edit-metadata',
styleUrls: ['./claimed-task-actions-edit-metadata.component.scss'],
@@ -17,7 +18,7 @@ export class ClaimedTaskActionsEditMetadataComponent extends ClaimedTaskActionsA
/**
* This component represents the edit metadata option
*/
option = WorkflowTaskOptions.EditMetadata;
option = WORKFLOW_TASK_OPTION_EDIT_METADATA;
constructor(protected claimedTaskService: ClaimedTaskDataService) {
super(claimedTaskService);

View File

@@ -5,9 +5,10 @@ import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component';
import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service';
import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator';
import { WorkflowTaskOptions } from '../workflow-task-options.model';
@rendersWorkflowTaskOption(WorkflowTaskOptions.Reject)
export const WORKFLOW_TASK_OPTION_REJECT = 'submit_reject';
@rendersWorkflowTaskOption(WORKFLOW_TASK_OPTION_REJECT)
@Component({
selector: 'ds-claimed-task-actions-reject',
styleUrls: ['./claimed-task-actions-reject.component.scss'],
@@ -18,9 +19,9 @@ import { WorkflowTaskOptions } from '../workflow-task-options.model';
*/
export class ClaimedTaskActionsRejectComponent extends ClaimedTaskActionsAbstractComponent implements OnInit {
/**
* This component represents the edit metadata option
* This component represents the reject option
*/
option = WorkflowTaskOptions.Reject;
option = WORKFLOW_TASK_OPTION_REJECT;
/**
* The reject form group

View File

@@ -1,11 +1,12 @@
import { Component } from '@angular/core';
import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component';
import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator';
import { WorkflowTaskOptions } from '../workflow-task-options.model';
import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service';
import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response';
@rendersWorkflowTaskOption(WorkflowTaskOptions.ReturnToPool)
export const WORKFLOW_TASK_OPTION_RETURN_TO_POOL = 'return_to_pool';
@rendersWorkflowTaskOption(WORKFLOW_TASK_OPTION_RETURN_TO_POOL)
@Component({
selector: 'ds-claimed-task-actions-return-to-pool',
styleUrls: ['./claimed-task-actions-return-to-pool.component.scss'],
@@ -16,9 +17,9 @@ import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-
*/
export class ClaimedTaskActionsReturnToPoolComponent extends ClaimedTaskActionsAbstractComponent {
/**
* This component represents the edit metadata option
* This component represents the return to pool option
*/
option = WorkflowTaskOptions.ReturnToPool;
option = WORKFLOW_TASK_OPTION_RETURN_TO_POOL;
constructor(protected claimedTaskService: ClaimedTaskDataService) {
super(claimedTaskService);

View File

@@ -1,10 +0,0 @@
/**
* An enum listing all possible workflow task options
* Used to render components for the options and building request bodies
*/
export enum WorkflowTaskOptions {
Approve = 'submit_approve',
Reject = 'submit_reject',
EditMetadata = 'submit_edit_metadata',
ReturnToPool = 'return_to_pool'
}