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');
+ }
}