diff --git a/demo-shell/resources/i18n/en.json b/demo-shell/resources/i18n/en.json index a854c3f2b6..9106b5cd66 100644 --- a/demo-shell/resources/i18n/en.json +++ b/demo-shell/resources/i18n/en.json @@ -230,9 +230,12 @@ } }, "PROCESS_LIST_DEMO": { - "APP_ID_REQUIRED_ERROR": "Insert App ID", - "APP_ID_TYPE_ERROR": "App ID must be a number" + "ERROR_MESSAGE": { + "APP_ID_REQUIRED_ERROR": "Insert App ID", + "APP_ID_TYPE_ERROR": "App ID must be a number", + "NUMBER_GREATER_THAN": "Value must be greater than or equal to {{ value }}" + } }, "GROUP-TITLE1-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION ONE", "GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO" -} +} \ No newline at end of file diff --git a/demo-shell/src/app/components/process-list-demo/process-list-demo.component.html b/demo-shell/src/app/components/process-list-demo/process-list-demo.component.html index c6b1bf52a5..4aa5fc5579 100644 --- a/demo-shell/src/app/components/process-list-demo/process-list-demo.component.html +++ b/demo-shell/src/app/components/process-list-demo/process-list-demo.component.html @@ -8,10 +8,13 @@ class="form-control" [formControl]="processAppId"> - {{ 'PROCESS_LIST_DEMO.APP_ID_REQUIRED_ERROR' | translate }} + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.APP_ID_REQUIRED_ERROR' | translate }} - {{ 'PROCESS_LIST_DEMO.APP_ID_TYPE_ERROR' | translate }} + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.APP_ID_TYPE_ERROR' | translate }} + + + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.NUMBER_GREATER_THAN' | translate: { value: minValue } }} @@ -25,15 +28,7 @@ - ProcessInstanceId - - - - - Status + State @@ -50,6 +45,35 @@ + + + Items per page + + + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.NUMBER_GREATER_THAN' | translate: { value: minValue } }} + + + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.NUMBER_TYPE_ERROR' | translate }} + + + + + Page + + + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.NUMBER_GREATER_THAN' | translate: { value: minValue } }} + + + {{ 'PROCESS_LIST_DEMO.ERROR_MESSAGE.NUMBER_TYPE_ERROR' | translate }} + + +
@@ -61,9 +85,10 @@ #processList [appId]="appId" [processDefinitionId]="processDefId" - [processInstanceId]="instanceId" [state]="state" [sort]="sort" + [page]="page" + [size]="size" [presetColumn]="presetColumn"> @@ -71,6 +96,8 @@
{{getStatus(entry.row.obj.ended)}}
+ +
diff --git a/demo-shell/src/app/components/process-list-demo/process-list-demo.component.scss b/demo-shell/src/app/components/process-list-demo/process-list-demo.component.scss index 8ce7a126c9..0f881f9ae6 100644 --- a/demo-shell/src/app/components/process-list-demo/process-list-demo.component.scss +++ b/demo-shell/src/app/components/process-list-demo/process-list-demo.component.scss @@ -1,12 +1,15 @@ .process-list-inputs { - margin-top: 100px; - margin-bottom: 50px; - display: flex; - justify-content: space-evenly; + margin: 20px auto 0; + max-width: 1200px; + + & mat-form-field { + margin: 20px 5px; + width: calc(100% * (1/4) - 10px); + } } .adf-reset-button { - margin-top: 50px; + margin-bottom: 50px; display: flex; justify-content: center; } diff --git a/demo-shell/src/app/components/process-list-demo/process-list-demo.component.ts b/demo-shell/src/app/components/process-list-demo/process-list-demo.component.ts index a4f9392f8d..4375bb346c 100644 --- a/demo-shell/src/app/components/process-list-demo/process-list-demo.component.ts +++ b/demo-shell/src/app/components/process-list-demo/process-list-demo.component.ts @@ -27,21 +27,18 @@ import { debounceTime } from 'rxjs/operators'; export class ProcessListDemoComponent implements OnInit { + DEFAULT_SIZE = 20; + + minValue = 1; + processListForm: FormGroup; - defaultAppId: number; - appId: number; - - name: string; - processDefId: string; - - instanceId: number|string; - state: string; - sort: string; + size: number = this.DEFAULT_SIZE; + page: number = 0; presetColumn = 'default'; @@ -61,22 +58,27 @@ export class ProcessListDemoComponent implements OnInit { } ngOnInit() { + this.resetQueryParameters(); + if (this.route) { this.route.params.forEach((params: Params) => { - this.defaultAppId = params['id'] ? +params['id'] : 0; + if (params['id']) { + this.appId = params['id']; + } }); } - this.appId = this.defaultAppId; + this.buildForm(); } buildForm() { this.processListForm = this.formBuilder.group({ - processAppId: new FormControl(this.defaultAppId, [Validators.required, Validators.pattern('^[0-9]*$')]), + processAppId: new FormControl(this.appId, [Validators.required, Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]), processDefinitionId: new FormControl(''), - processInstanceId: new FormControl(''), processState: new FormControl(''), - processSort: new FormControl('') + processSort: new FormControl(''), + processSize: new FormControl('', [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]), + processPage: new FormControl('', [Validators.pattern('^[0-9]*$'), Validators.min(this.minValue)]) }); this.processListForm.valueChanges @@ -93,11 +95,21 @@ export class ProcessListDemoComponent implements OnInit { filterProcesses(processFilter: any) { this.appId = processFilter.processAppId; - this.name = processFilter.processName; this.processDefId = processFilter.processDefinitionId; - this.instanceId = processFilter.processInstanceId; this.state = processFilter.processState; + if (!processFilter.processState) { + this.state = this.stateOptions[0].value; + } this.sort = processFilter.processSort; + if (processFilter.processSize) { + this.size = parseInt(processFilter.processSize, 10); + } + if (processFilter.processPage) { + let pageValue = parseInt(processFilter.processPage, 10); + this.page = pageValue > 0 ? pageValue - 1 : pageValue; + } else { + this.page = 0; + } } isFormValid() { @@ -106,6 +118,16 @@ export class ProcessListDemoComponent implements OnInit { resetProcessForm() { this.processListForm.reset(); + this.resetQueryParameters(); + } + + resetQueryParameters() { + this.appId = null; + this.processDefId = null; + this.state = this.stateOptions[0].value; + this.sort = null; + this.size = this.DEFAULT_SIZE; + this.page = null; } getStatus(ended: Date) { @@ -120,10 +142,6 @@ export class ProcessListDemoComponent implements OnInit { return this.processListForm.get('processDefinitionId'); } - get processInstanceId(): AbstractControl { - return this.processListForm.get('processInstanceId'); - } - get processState(): AbstractControl { return this.processListForm.get('processState'); } @@ -131,4 +149,12 @@ export class ProcessListDemoComponent implements OnInit { get processSort(): AbstractControl { return this.processListForm.get('processSort'); } + + get processSize(): AbstractControl { + return this.processListForm.get('processSize'); + } + + get processPage(): AbstractControl { + return this.processListForm.get('processPage'); + } }