diff --git a/demo-shell/src/app.config.json b/demo-shell/src/app.config.json
index 8296d725ce..d91ba90295 100644
--- a/demo-shell/src/app.config.json
+++ b/demo-shell/src/app.config.json
@@ -1082,40 +1082,40 @@
"presets": {
"default": [
{
- "key": "entry.id",
+ "key": "id",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
"cssClass": "adf-expand-cell-4",
"sortable": true
},
{
- "key": "entry.name",
+ "key": "name",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
"sortable": true,
"cssClass": "name-column adf-ellipsis-cell"
},
{
- "key": "entry.status",
+ "key": "status",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
- "key": "entry.priority",
+ "key": "priority",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.PRIORITY",
"sortable": true
},
{
- "key": "entry.createdDate",
+ "key": "createdDate",
"type": "date",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.CREATED_DATE",
"sortable": true,
"format": "timeAgo"
},
{
- "key": "entry.lastModified",
+ "key": "lastModified",
"type": "date",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.LAST_MODIFIED",
"sortable": true,
@@ -1128,32 +1128,32 @@
"presets": {
"default": [
{
- "key": "entry.id",
+ "key": "id",
"type": "text",
"title": "ADF_CLOUD_SERVICE_TASK_LIST.PROPERTIES.ID",
"sortable": true
},
{
- "key": "entry.activityName",
+ "key": "activityName",
"type": "text",
"title": "ADF_CLOUD_SERVICE_TASK_LIST.PROPERTIES.ACTIVITY_NAME",
"sortable": true
},
{
- "key": "entry.status",
+ "key": "status",
"type": "text",
"title": "ADF_CLOUD_SERVICE_TASK_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
- "key": "entry.startedDate",
+ "key": "startedDate",
"type": "date",
"title": "ADF_CLOUD_SERVICE_TASK_LIST.PROPERTIES.STARTED_DATE",
"sortable": true,
"format": "timeAgo"
},
{
- "key": "entry.completedDate",
+ "key": "completedDate",
"type": "date",
"title": "ADF_CLOUD_SERVICE_TASK_LIST.PROPERTIES.COMPLETED_DATE",
"sortable": true,
@@ -1166,25 +1166,25 @@
"presets": {
"default": [
{
- "key": "entry.id",
+ "key": "id",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.ID",
"sortable": true
},
{
- "key": "entry.name",
+ "key": "name",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.NAME",
"sortable": true
},
{
- "key": "entry.status",
+ "key": "status",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
- "key": "entry.startDate",
+ "key": "startDate",
"type": "date",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.START_DATE",
"sortable": true,
diff --git a/demo-shell/src/app/components/cloud/cloud-filters-demo.component.ts b/demo-shell/src/app/components/cloud/cloud-filters-demo.component.ts
index 8a34e75151..a8f0050b42 100644
--- a/demo-shell/src/app/components/cloud/cloud-filters-demo.component.ts
+++ b/demo-shell/src/app/components/cloud/cloud-filters-demo.component.ts
@@ -19,6 +19,8 @@ import { Component, ViewEncapsulation, Input, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { CloudLayoutService } from './services/cloud-layout.service';
import { Router, ActivatedRoute } from '@angular/router';
+import { CloudProcessFiltersService } from './services/cloud-process-filters.service';
+import { ProcessFilterCloudModel } from '@alfresco/adf-process-services-cloud';
@Component({
selector: 'app-cloud-filters-demo',
templateUrl: './cloud-filters-demo.component.html',
@@ -42,7 +44,8 @@ export class CloudFiltersDemoComponent implements OnInit {
constructor(
private cloudLayoutService: CloudLayoutService,
private router: Router,
- private route: ActivatedRoute
+ private route: ActivatedRoute,
+ private cloudProcessFiltersService: CloudProcessFiltersService
) {}
ngOnInit() {
@@ -63,11 +66,19 @@ export class CloudFiltersDemoComponent implements OnInit {
}
onTaskFilterSelected(filter) {
- this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: filter });
+ if (filter) {
+ this.router.navigate([`/cloud/${this.appName}/tasks/`], {queryParams: filter});
+ }
}
- onProcessFilterSelected(filter) {
- this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: filter });
+ onProcessFilterSelected(filter: ProcessFilterCloudModel) {
+ if (filter) {
+ const {appName} = this;
+ const {id} = filter;
+
+ const queryParams = this.cloudProcessFiltersService.writeQueryParams(filter, appName, id);
+ this.router.navigate([`/cloud/${appName}/processes/`], {queryParams});
+ }
}
onTaskFilterOpen(): boolean {
diff --git a/demo-shell/src/app/components/cloud/community/community-processes-cloud.component.ts b/demo-shell/src/app/components/cloud/community/community-processes-cloud.component.ts
index c604def8da..e2808711c7 100644
--- a/demo-shell/src/app/components/cloud/community/community-processes-cloud.component.ts
+++ b/demo-shell/src/app/components/cloud/community/community-processes-cloud.component.ts
@@ -145,6 +145,6 @@ export class CommunityProcessesCloudDemoComponent implements OnInit, OnDestroy {
onRowsSelected(nodes) {
this.resetSelectedRows();
- this.selectedRows = nodes.map((node) => node.obj.entry);
+ this.selectedRows = nodes.map((node) => node.obj);
}
}
diff --git a/demo-shell/src/app/components/cloud/community/community-task-cloud.component.ts b/demo-shell/src/app/components/cloud/community/community-task-cloud.component.ts
index 94c38ddb1c..974b9b5d60 100644
--- a/demo-shell/src/app/components/cloud/community/community-task-cloud.component.ts
+++ b/demo-shell/src/app/components/cloud/community/community-task-cloud.component.ts
@@ -127,7 +127,7 @@ export class CommunityTasksCloudDemoComponent implements OnInit, OnDestroy {
onRowsSelected(nodes) {
this.resetSelectedRows();
- this.selectedRows = nodes.map((node) => node.obj.entry);
+ this.selectedRows = nodes.map((node) => node.obj);
}
onFilterChange(filter: any) {
diff --git a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html
index 3876f194d9..63e4a7c24a 100644
--- a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html
+++ b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html
@@ -2,9 +2,10 @@
@@ -24,7 +25,7 @@
[businessKey]="editedFilter['businessKey']"
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
[lastModifiedTo]="editedFilter.lastModifiedTo"
- [sorting]="sortArray"
+ [sorting]="[{orderBy: editedFilter.sort, direction: editedFilter.order}]"
[selectionMode]="selectionMode"
[stickyHeader]="true"
[showActions]="actionMenu"
diff --git a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.scss b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.scss
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.ts b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.ts
index 3dcb140d50..ec03653bfd 100644
--- a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.ts
+++ b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.ts
@@ -15,42 +15,24 @@
* limitations under the License.
*/
-import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core';
-import {
- ProcessListCloudComponent,
- ProcessFilterCloudModel,
- ProcessListCloudSortingModel,
- ProcessFiltersCloudComponent
-} from '@alfresco/adf-process-services-cloud';
-
+import { Component, OnInit, OnDestroy } from '@angular/core';
+import { EditProcessFilterCloudComponent, ProcessFilterAction, ProcessFilterCloudModel, ProcessFilterCloudService } from '@alfresco/adf-process-services-cloud';
import { ActivatedRoute, Router } from '@angular/router';
-import { UserPreferencesService, AppConfigService, DataCellEvent } from '@alfresco/adf-core';
+import { UserPreferencesService, DataCellEvent } from '@alfresco/adf-core';
import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { Pagination } from '@alfresco/js-api';
+import { CloudProcessFiltersService } from './services/cloud-process-filters.service';
@Component({
- templateUrl: './processes-cloud-demo.component.html',
- styleUrls: ['./processes-cloud-demo.component.scss']
+ templateUrl: './processes-cloud-demo.component.html'
})
export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
-
- public static ACTION_SAVE_AS = 'saveAs';
- public static ACTION_DELETE = 'delete';
- static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
-
- @ViewChild('processCloud')
- processCloud: ProcessListCloudComponent;
-
- @ViewChild('processFiltersCloud')
- processFiltersCloud: ProcessFiltersCloudComponent;
-
appName: string = '';
- isFilterLoaded: boolean;
+ isFilterLoaded = false;
filterId: string = '';
- sortArray: any = [];
selectedRow: any;
multiselect: boolean;
selectionMode: string;
@@ -61,7 +43,11 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
actions: any[] = [];
selectedAction: { id: number, name: string, actionType: string};
selectedContextAction: { id: number, name: string, actionType: string};
- processFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
+
+ filterProperties: string[];
+ filterSortProperties: string[];
+ filterActions: string[];
+
processDetailsRedirection: boolean;
editedFilter: ProcessFilterCloudModel;
@@ -73,24 +59,24 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
private route: ActivatedRoute,
private router: Router,
private cloudLayoutService: CloudLayoutService,
- private userPreference: UserPreferencesService,
- private appConfig: AppConfigService) {
- const properties = this.appConfig.get>(ProcessesCloudDemoComponent.PROCESS_FILTER_PROPERTY_KEYS);
- if (properties) {
- this.processFilterProperties = properties;
- }
+ private cloudProcessFiltersService: CloudProcessFiltersService,
+ private processFilterCloudService: ProcessFilterCloudService,
+ private userPreference: UserPreferencesService) {
}
ngOnInit() {
- this.isFilterLoaded = false;
- this.route.parent.params.subscribe((params) => {
- this.appName = params.appName;
- });
+ this.filterProperties = this.cloudProcessFiltersService.filterProperties;
+ this.filterSortProperties = this.cloudProcessFiltersService.sortProperties;
+ this.filterActions = this.cloudProcessFiltersService.actions;
this.route.queryParams.subscribe((params) => {
this.isFilterLoaded = true;
- this.onFilterChange(params);
+
+ this.appName = params.appName;
this.filterId = params.id;
+
+ const model = this.cloudProcessFiltersService.readQueryParams(params);
+ this.loadFilter(model);
});
this.cloudLayoutService.settings$
@@ -134,31 +120,26 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
}
}
- onFilterChange(query: any) {
- this.editedFilter = Object.assign({}, query);
- this.sortArray = [
- new ProcessListCloudSortingModel({
- orderBy: this.editedFilter.sort,
- direction: this.editedFilter.order
- })
- ];
+ onFilterChange(filter: ProcessFilterCloudModel) {
+ const queryParams = this.cloudProcessFiltersService.writeQueryParams(filter, this.appName, this.filterId);
+ this.router.navigate([`/cloud/${this.appName}/processes/`], {queryParams});
}
- onProcessFilterAction(filterAction: any) {
- if (filterAction.actionType === ProcessesCloudDemoComponent.ACTION_DELETE) {
+ onProcessFilterAction(filterAction: ProcessFilterAction) {
+ if (filterAction.actionType === EditProcessFilterCloudComponent.ACTION_DELETE) {
this.cloudLayoutService.setCurrentProcessFilterParam({ index: 0 });
} else {
this.cloudLayoutService.setCurrentProcessFilterParam({ id: filterAction.filter.id });
}
- if (filterAction.actionType === ProcessesCloudDemoComponent.ACTION_SAVE_AS) {
- this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: filterAction.filter });
+ if ([EditProcessFilterCloudComponent.ACTION_SAVE, EditProcessFilterCloudComponent.ACTION_SAVE_AS].includes(filterAction.actionType)) {
+ this.onFilterChange(filterAction.filter);
}
}
onRowsSelected(nodes) {
this.resetSelectedRows();
- this.selectedRows = nodes.map((node) => node.obj.entry);
+ this.selectedRows = nodes.map((node) => node.obj);
}
onShowRowActionsMenu(event: DataCellEvent) {
@@ -197,4 +178,12 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
const action = contextAction.model;
this.selectedContextAction = {id: value.id, name: value.name, actionType: action.title};
}
+
+ private loadFilter(model: ProcessFilterCloudModel) {
+ if (model && model.appName && model.id) {
+ this.processFilterCloudService.getFilterById(model.appName, model.id).subscribe(filter => {
+ this.editedFilter = Object.assign({}, filter, model);
+ });
+ }
+ }
}
diff --git a/demo-shell/src/app/components/cloud/services/cloud-process-filters.service.ts b/demo-shell/src/app/components/cloud/services/cloud-process-filters.service.ts
new file mode 100644
index 0000000000..3d74f20dd4
--- /dev/null
+++ b/demo-shell/src/app/components/cloud/services/cloud-process-filters.service.ts
@@ -0,0 +1,55 @@
+/*!
+ * @license
+ * Copyright 2019 Alfresco Software, Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Injectable } from '@angular/core';
+import { ProcessFilterCloudModel, ProcessFilterCloudService } from '@alfresco/adf-process-services-cloud';
+import { AppConfigService } from '@alfresco/adf-core';
+
+@Injectable({ providedIn: 'root' })
+export class CloudProcessFiltersService {
+ constructor(private appConfigService: AppConfigService, private processFilterCloudService: ProcessFilterCloudService) {
+ }
+
+ get filterProperties(): string[] {
+ return this.appConfigService.get(
+ 'adf-edit-process-filter.filterProperties',
+ ['status', 'sort', 'order', 'processName']
+ );
+ }
+
+ get sortProperties(): string[] {
+ return this.appConfigService.get(
+ 'adf-edit-process-filter.sortProperties',
+ ['id', 'name', 'status', 'startDate']
+ );
+ }
+
+ get actions(): string[] {
+ return this.appConfigService.get(
+ 'adf-edit-process-filter.actions',
+ ['save', 'saveAs', 'delete']
+ );
+ }
+
+ readQueryParams(obj: Object): ProcessFilterCloudModel {
+ return this.processFilterCloudService.readQueryParams(obj);
+ }
+
+ writeQueryParams(value: Object, appName?: string, id?: string): Object {
+ return this.processFilterCloudService.writeQueryParams(value, this.filterProperties, appName, id);
+ }
+}
diff --git a/demo-shell/src/app/components/cloud/tasks-cloud-demo.component.ts b/demo-shell/src/app/components/cloud/tasks-cloud-demo.component.ts
index 57817e4373..2fccfa7bbb 100644
--- a/demo-shell/src/app/components/cloud/tasks-cloud-demo.component.ts
+++ b/demo-shell/src/app/components/cloud/tasks-cloud-demo.component.ts
@@ -125,7 +125,7 @@ export class TasksCloudDemoComponent implements OnInit, OnDestroy {
onRowsSelected(nodes) {
this.resetSelectedRows();
- this.selectedRows = nodes.map((node) => node.obj.entry);
+ this.selectedRows = nodes.map((node) => node.obj);
}
onFilterChange(filter: any) {
diff --git a/docs/core/components/json-cell.component.md b/docs/core/components/json-cell.component.md
index 02ba94e1f3..b8fc7e26d5 100644
--- a/docs/core/components/json-cell.component.md
+++ b/docs/core/components/json-cell.component.md
@@ -12,27 +12,29 @@ Shows a JSON-formatted value inside a datatable component.
## Basic Usage
```html
-
+
-
+
```
You can specify the cell inside the `app.config.json` file:
-```javascript
- "adf-cloud-process-list": {
+```json
+{
+ "adf-cloud-process-list": {
"presets": {
"default": [
{
- "key": "entry.json",
+ "key": "json",
"type": "json",
"title": "Json cell value"
}
]
}
- },
+ }
+}
```
## Class members
diff --git a/e2e/process-services-cloud/config/process-list-cloud.config.ts b/e2e/process-services-cloud/config/process-list-cloud.config.ts
index 8cc321584b..c8388f5c93 100644
--- a/e2e/process-services-cloud/config/process-list-cloud.config.ts
+++ b/e2e/process-services-cloud/config/process-list-cloud.config.ts
@@ -22,62 +22,62 @@ export class ProcessListCloudConfiguration {
'presets': {
'default': [
{
- 'key': 'entry.id',
+ 'key': 'id',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.ID',
'sortable': true
},
{
- 'key': 'entry.name',
+ 'key': 'name',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.NAME',
'sortable': true
},
{
- 'key': 'entry.status',
+ 'key': 'status',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.STATUS',
'sortable': true
},
{
- 'key': 'entry.startDate',
+ 'key': 'startDate',
'type': 'date',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.START_DATE',
'sortable': true,
'format': 'timeAgo'
},
{
- 'key': 'entry.appName',
+ 'key': 'appName',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.APP_NAME',
'sortable': true
},
{
- 'key': 'entry.businessKey',
+ 'key': 'businessKey',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.BUSINESS_KEY',
'sortable': true
},
{
- 'key': 'entry.initiator',
+ 'key': 'initiator',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.STARTED_BY',
'sortable': true
},
{
- 'key': 'entry.lastModified',
+ 'key': 'lastModified',
'type': 'date',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.LAST_MODIFIED',
'sortable': true
},
{
- 'key': 'entry.processDefinitionId',
+ 'key': 'processDefinitionId',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.PROCESS_DEF_ID',
'sortable': true
},
{
- 'key': 'entry.processDefinitionKey',
+ 'key': 'processDefinitionKey',
'type': 'text',
'title': 'ADF_CLOUD_PROCESS_LIST.PROPERTIES.PROCESS_DEF_KEY',
'sortable': true
diff --git a/e2e/process-services-cloud/config/task-list-cloud.config.ts b/e2e/process-services-cloud/config/task-list-cloud.config.ts
index 069bd4dc7c..45ebe7bfb7 100644
--- a/e2e/process-services-cloud/config/task-list-cloud.config.ts
+++ b/e2e/process-services-cloud/config/task-list-cloud.config.ts
@@ -25,84 +25,84 @@ export class TaskListCloudConfiguration {
'presets': {
'default': [
{
- 'key': 'entry.id',
+ 'key': 'id',
'type': 'text',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.ID',
'sortable': true
},
{
- 'key': 'entry.name',
+ 'key': 'name',
'type': 'text',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.NAME',
'sortable': true,
'cssClass': 'full-width name-column ellipsis-cell'
},
{
- 'key': 'entry.processDefinitionId',
+ 'key': 'processDefinitionId',
'type': 'text',
'title': 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.PROCESS_DEF_ID',
'sortable': true,
'cssClass': 'full-width name-column ellipsis-cell'
},
{
- 'key': 'entry.processInstanceId',
+ 'key': 'processInstanceId',
'type': 'text',
'title': 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.PROCESS_INSTANCE_ID',
'sortable': true,
'cssClass': 'full-width name-column ellipsis-cell'
},
{
- 'key': 'entry.status',
+ 'key': 'status',
'type': 'text',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.STATUS',
'sortable': true
},
{
- 'key': 'entry.priority',
+ 'key': 'priority',
'type': 'text',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.PRIORITY',
'sortable': true
},
{
- 'key': 'entry.createdDate',
+ 'key': 'createdDate',
'type': 'date',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.CREATED_DATE',
'sortable': true,
'format': 'timeAgo'
},
{
- 'key': 'entry.lastModified',
+ 'key': 'lastModified',
'type': 'date',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.LAST_MODIFIED',
'sortable': true,
'format': 'timeAgo'
},
{
- 'key': 'entry.assignee',
+ 'key': 'assignee',
'type': 'text',
'title': 'ADF_CLOUD_TASK_LIST.PROPERTIES.ASSIGNEE',
'sortable': true
},
{
- 'key': 'entry.parentTaskId',
+ 'key': 'parentTaskId',
'type': 'text',
'title': 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.PARENT_TASK_ID',
'sortable': true
},
{
- 'key': 'entry.priority',
+ 'key': 'priority',
'type': 'text',
'title': 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.PRIORITY',
'sortable': true
},
{
- 'key': 'entry.standalone',
+ 'key': 'standalone',
'type': 'text',
'title': 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STAND_ALONE',
'sortable': true
},
{
- 'key': 'entry.owner',
+ 'key': 'owner',
'type': 'text',
'title': 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.OWNER',
'sortable': true
diff --git a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts
index 15bc856cfb..3e4fea490d 100644
--- a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts
+++ b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts
@@ -81,10 +81,6 @@ describe('Edit process filters cloud', () => {
await editProcessFilter.checkSaveButtonIsDisplayed();
await editProcessFilter.checkSaveAsButtonIsDisplayed();
await editProcessFilter.checkDeleteButtonIsDisplayed();
- await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(false);
- await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(false);
- await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(false);
- await editProcessFilter.openFilter();
});
it('[C586757] Delete Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => {
@@ -110,10 +106,7 @@ describe('Edit process filters cloud', () => {
await expect(await processFilter.getActiveFilterName()).toBe('New');
await editProcessFilter.openFilter();
- await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(false);
await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
- await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(false);
- await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(true);
await processFilter.clickAllProcessesFilter();
await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date');
await processFilter.clickProcessFilter('custom-new');
@@ -121,50 +114,10 @@ describe('Edit process filters cloud', () => {
await editProcessFilter.clickDeleteButton();
});
- it('[C291806] Two process filters with same name can be created when clicking the Save As button', async () => {
- await editProcessFilter.setSortFilterDropDown('Id');
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName('New');
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
-
- await browser.driver.sleep(1000);
-
- await editProcessFilter.openFilter();
- await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
- await expect(await processFilter.getActiveFilterName()).toBe('New');
- await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
- await editProcessFilter.setSortFilterDropDown('Process Name');
- await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name');
- await editProcessFilter.clickSaveAsButton();
-
- await editProcessFilter.editProcessFilterDialog().setFilterName('New');
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
- await editProcessFilter.openFilter();
- await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
-
- await browser.driver.sleep(1000);
-
- await expect(await processFilter.getActiveFilterName()).toBe('New');
- await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name');
- await editProcessFilter.clickDeleteButton();
-
- await browser.driver.sleep(1000);
-
- await processFilter.clickProcessFilter('custom-new');
- await editProcessFilter.openFilter();
- await editProcessFilter.checkCustomiseFilterHeaderIsExpanded();
- await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
- await editProcessFilter.clickDeleteButton();
- });
-
- it('[C291807] A process filter is overrided when clicking on save button', async () => {
+ it('[C291807] A process filter is updated when clicking on save button', async () => {
await editProcessFilter.setSortFilterDropDown('Id');
await processFilter.clickAllProcessesFilter();
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName('New');
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
-
- await browser.driver.sleep(1000);
+ await editProcessFilter.saveAs('New');
await expect(await processFilter.getActiveFilterName()).toBe('New');
await editProcessFilter.openFilter();
@@ -186,12 +139,8 @@ describe('Edit process filters cloud', () => {
it('[C291808] A process filter is deleted when clicking on delete button', async () => {
await editProcessFilter.setSortFilterDropDown('Id');
await processFilter.clickAllProcessesFilter();
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName('New');
+ await editProcessFilter.saveAs('New');
- await browser.driver.sleep(1000);
-
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
await editProcessFilter.openFilter();
await expect(await processFilter.getActiveFilterName()).toBe('New');
await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id');
@@ -258,9 +207,6 @@ describe('Edit process filters cloud', () => {
async function createNewProcessCustomFilter(name: string): Promise {
await editProcessFilter.setSortFilterDropDown('Id');
await processFilter.clickAllProcessesFilter();
-
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName(name);
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
+ await editProcessFilter.saveAs(name);
}
});
diff --git a/e2e/process-services-cloud/process-custom-filters.e2e.ts b/e2e/process-services-cloud/process-custom-filters.e2e.ts
index 7456982787..d71063be81 100644
--- a/e2e/process-services-cloud/process-custom-filters.e2e.ts
+++ b/e2e/process-services-cloud/process-custom-filters.e2e.ts
@@ -244,9 +244,7 @@ describe('Process list cloud', () => {
await editProcessFilter.openFilter();
await editProcessFilter.setProcessInstanceId(completedProcess.entry.id);
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName('New');
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
+ await editProcessFilter.saveAs('New');
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New');
@@ -274,9 +272,7 @@ describe('Process list cloud', () => {
await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true);
await BrowserActions.closeMenuAndDialogs();
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName('SavedFilter');
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
+ await editProcessFilter.saveAs('SavedFilter');
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SavedFilter');
await editProcessFilter.openFilter();
@@ -288,9 +284,7 @@ describe('Process list cloud', () => {
await waitTillContentLoaded();
await processList.checkContentIsDisplayedById(switchProcessInstance.entry.id);
- await editProcessFilter.clickSaveAsButton();
- await editProcessFilter.editProcessFilterDialog().setFilterName('SwitchFilter');
- await editProcessFilter.editProcessFilterDialog().clickOnSaveButton();
+ await editProcessFilter.saveAs('SwitchFilter');
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SwitchFilter');
await editProcessFilter.openFilter();
diff --git a/e2e/process-services-cloud/process-filter-results.e2e.ts b/e2e/process-services-cloud/process-filter-results.e2e.ts
index df66fa39e7..1f512a55fd 100644
--- a/e2e/process-services-cloud/process-filter-results.e2e.ts
+++ b/e2e/process-services-cloud/process-filter-results.e2e.ts
@@ -157,6 +157,7 @@ describe('Process filters cloud', () => {
await appListCloudComponent.goToApp(candidateBaseApp);
await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
+ await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
});
it('[C306887] Should be able to filter by appName', async () => {
@@ -189,10 +190,8 @@ describe('Process filters cloud', () => {
it('[C311315] Should be able to filter by process definition id', async () => {
await editProcessFilter.openFilter();
await editProcessFilter.setProperty('processDefinitionId', processDefinition.entry.id);
- await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
- await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await editProcessFilter.setProperty('processDefinitionId', anotherProcessDefinition.entry.id);
await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name);
@@ -286,18 +285,14 @@ describe('Process filters cloud', () => {
});
it('[C306892] Should be able to filter by process status - All', async () => {
+ await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter();
+
await editProcessFilter.openFilter();
await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.ALL);
- await editProcessFilter.setProcessName(runningProcessInstance.entry.name);
+
await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name);
-
- await editProcessFilter.setProcessName(anotherProcessInstance.entry.name);
await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name);
-
- await editProcessFilter.setProcessName(suspendProcessInstance.entry.name);
await processList.checkContentIsDisplayedByName(suspendProcessInstance.entry.name);
-
- await editProcessFilter.setProcessName(completedProcess.entry.name);
await processList.checkContentIsDisplayedByName(completedProcess.entry.name);
});
diff --git a/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts b/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts
deleted file mode 100644
index c59e62c370..0000000000
--- a/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts
+++ /dev/null
@@ -1,127 +0,0 @@
-/*!
- * @license
- * Copyright 2019 Alfresco Software, Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {
- ApiService,
- AppListCloudPage,
- GroupIdentityService,
- IdentityService,
- LoginPage,
- ProcessDefinitionsService,
- ProcessInstancesService,
- StringUtil
-} from '@alfresco/adf-testing';
-import { browser } from 'protractor';
-import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page';
-import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page';
-import { NavigationBarPage } from '../core/pages/navigation-bar.page';
-import CONSTANTS = require('../util/constants');
-
-describe('Process list cloud', () => {
-
- describe('Process List - Custom Action Menu', () => {
-
- const simpleApp = browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name;
-
- const loginSSOPage = new LoginPage();
- const navigationBarPage = new NavigationBarPage();
- const appListCloudComponent = new AppListCloudPage();
-
- const processCloudDemoPage = new ProcessCloudDemoPage();
- const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent();
- const processList = processCloudDemoPage.processListCloudComponent();
-
- const tasksCloudDemoPage = new TasksCloudDemoPage();
-
- const apiService = new ApiService();
- const identityService = new IdentityService(apiService);
- const groupIdentityService = new GroupIdentityService(apiService);
- const processDefinitionService = new ProcessDefinitionsService(apiService);
- const processInstancesService = new ProcessInstancesService(apiService);
-
- let testUser, groupInfo, editProcess, deleteProcess;
-
- beforeAll(async () => {
- await apiService.loginWithProfile('identityAdmin');
-
- testUser = await identityService.createIdentityUserWithRole([identityService.ROLES.ACTIVITI_USER]);
- groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
- await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
-
- await apiService.login(testUser.username, testUser.password);
- const processDefinition = await processDefinitionService
- .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.simpleProcess, simpleApp);
-
- editProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp, {
- 'name': StringUtil.generateRandomString(),
- 'businessKey': StringUtil.generateRandomString()
- });
- deleteProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp, {
- 'name': StringUtil.generateRandomString(),
- 'businessKey': StringUtil.generateRandomString()
- });
-
- await loginSSOPage.login(testUser.username, testUser.password);
-
- await navigationBarPage.navigateToProcessServicesCloudPage();
- await appListCloudComponent.checkApsContainer();
- await appListCloudComponent.goToApp(simpleApp);
- await tasksCloudDemoPage.clickSettingsButton();
- await tasksCloudDemoPage.enableTestingMode();
- await tasksCloudDemoPage.enableActionMenu();
- await tasksCloudDemoPage.enableContextMenu();
- await tasksCloudDemoPage.addActionIsDisplayed();
- await tasksCloudDemoPage.addAction('edit');
- await tasksCloudDemoPage.actionAdded('edit');
- await tasksCloudDemoPage.addAction('delete');
- await tasksCloudDemoPage.actionAdded('delete');
- await tasksCloudDemoPage.addDisabledAction('disabledaction');
- await tasksCloudDemoPage.actionAdded('disabledaction');
- await tasksCloudDemoPage.addInvisibleAction('invisibleaction');
- await tasksCloudDemoPage.actionAdded('invisibleaction');
- await tasksCloudDemoPage.clickAppButton();
- await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
- await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
- });
-
- afterAll(async () => {
- await apiService.loginWithProfile('identityAdmin');
- await identityService.deleteIdentityUser(testUser.idIdentityService);
- });
-
- it('[C315236] Should be able to see and execute custom action menu', async () => {
- await editProcessFilter.openFilter();
- await editProcessFilter.setProcessName(editProcess.entry.name);
- await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING);
- await processList.checkProcessListIsLoaded();
- await processList.checkContentIsDisplayedById(editProcess.entry.id);
- await processList.clickOptionsButton(editProcess.entry.id);
- await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false);
- await expect(await processList.getNumberOfOptions()).toBe(3);
- await processList.clickOnCustomActionMenu('edit');
- await processCloudDemoPage.checkActionExecuted(editProcess.entry.id, 'edit');
-
- await editProcessFilter.setProcessName(deleteProcess.entry.name);
- await browser.sleep(1000);
- await processList.rightClickOnRow(deleteProcess.entry.id);
- await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false);
- await expect(await processList.getNumberOfOptions()).toBe(3);
- await processList.clickContextMenuActionNamed('delete');
- await processCloudDemoPage.checkActionExecuted(deleteProcess.entry.id, 'delete');
- });
- });
-});
diff --git a/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts b/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts
deleted file mode 100644
index 349bfa4165..0000000000
--- a/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-/*!
- * @license
- * Copyright 2019 Alfresco Software, Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { ApiService, AppListCloudPage, GroupIdentityService, IdentityService, LoginPage, ProcessDefinitionsService, ProcessInstancesService, QueryService, TasksService } from '@alfresco/adf-testing';
-import { browser } from 'protractor';
-import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page';
-import { NavigationBarPage } from '../core/pages/navigation-bar.page';
-
-describe('Process list cloud', () => {
-
- describe('Process List - Custom Action Menu', () => {
-
- const simpleApp = browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name;
-
- const loginSSOPage = new LoginPage();
- const navigationBarPage = new NavigationBarPage();
- const appListCloudComponent = new AppListCloudPage();
-
- const tasksCloudDemoPage = new TasksCloudDemoPage();
- const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud;
- const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent;
- const taskList = tasksCloudDemoPage.taskListCloudComponent();
-
- const apiService = new ApiService();
- const identityService = new IdentityService(apiService);
- const groupIdentityService = new GroupIdentityService(apiService);
- const processDefinitionService = new ProcessDefinitionsService(apiService);
- const processInstancesService = new ProcessInstancesService(apiService);
- const queryService = new QueryService(apiService);
- const tasksService = new TasksService(apiService);
-
- let testUser, groupInfo, editProcess, deleteProcess, editTask, deleteTask;
-
- beforeAll(async () => {
- await apiService.loginWithProfile('identityAdmin');
-
- testUser = await identityService.createIdentityUserWithRole( [identityService.ROLES.ACTIVITI_USER]);
- groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
- await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
-
- await apiService.login(testUser.username, testUser.password);
- const processDefinition = await processDefinitionService
- .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp);
-
- editProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
- deleteProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
-
- editTask = await queryService.getProcessInstanceTasks(editProcess.entry.id, simpleApp);
- deleteTask = await queryService.getProcessInstanceTasks(deleteProcess.entry.id, simpleApp);
- await tasksService.claimTask(editTask.list.entries[0].entry.id, simpleApp);
- await tasksService.claimTask(deleteTask.list.entries[0].entry.id, simpleApp);
-
- await loginSSOPage.login(testUser.username, testUser.password);
- });
-
- afterAll(async() => {
- await apiService.loginWithProfile('identityAdmin');
- await identityService.deleteIdentityUser(testUser.idIdentityService);
- });
-
- beforeAll(async () => {
- await navigationBarPage.navigateToProcessServicesCloudPage();
- await appListCloudComponent.checkApsContainer();
- await appListCloudComponent.goToApp(simpleApp);
- await tasksCloudDemoPage.clickSettingsButton();
- await tasksCloudDemoPage.enableTestingMode();
- await tasksCloudDemoPage.enableActionMenu();
- await tasksCloudDemoPage.enableContextMenu();
- await tasksCloudDemoPage.addActionIsDisplayed();
- await tasksCloudDemoPage.addAction('edit');
- await tasksCloudDemoPage.actionAdded('edit');
- await tasksCloudDemoPage.addAction('delete');
- await tasksCloudDemoPage.actionAdded('delete');
- await tasksCloudDemoPage.addDisabledAction('disabledaction');
- await tasksCloudDemoPage.actionAdded('disabledaction');
- await tasksCloudDemoPage.addInvisibleAction('invisibleaction');
- await tasksCloudDemoPage.actionAdded('invisibleaction');
- await tasksCloudDemoPage.clickAppButton();
- await editTaskFilter.openFilter();
- await taskFilter.checkTaskFilterIsDisplayed('my-tasks');
- });
-
- it('[C315723] Should be able to see and execute custom action menu', async () => {
- await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks');
- await taskList.checkTaskListIsLoaded();
- await taskList.checkContentIsDisplayedById(editTask.list.entries[0].entry.id);
- await taskList.clickOptionsButton(editTask.list.entries[0].entry.id);
- await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false);
- await expect(await taskList.getNumberOfOptions()).toBe(3);
- await taskList.clickOnCustomActionMenu('edit');
- await tasksCloudDemoPage.checkActionExecuted(editTask.list.entries[0].entry.id, 'edit');
- await taskList.rightClickOnRow(deleteTask.list.entries[0].entry.id);
- await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false);
- await expect(await taskList.getNumberOfOptions()).toBe(3);
- await taskList.clickContextMenuActionNamed('delete');
- await tasksCloudDemoPage.checkActionExecuted(deleteTask.list.entries[0].entry.id, 'delete');
- });
- });
-});
diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json
index d3feaa48ed..3262d275e2 100644
--- a/e2e/protractor.excludes.json
+++ b/e2e/protractor.excludes.json
@@ -7,6 +7,8 @@
"C279932": "login problem APS not basic",
"C279931": "login problem APS not basic",
"C279930": "login problem APS not basic",
+ "C299187": "ADF-5285 Failing aspect test due multiple replica",
"C311290": "ADF-5308",
- "C260241": "ADF-5335- this will exclude 2 tests"
+ "C260241": "ADF-5335- this will exclude 2 tests",
+ "C587515": "https://alfresco.atlassian.net/browse/ADF-5340"
}
diff --git a/lib/process-services-cloud/src/lib/i18n/en.json b/lib/process-services-cloud/src/lib/i18n/en.json
index 5b49ea7868..4177b55d6e 100644
--- a/lib/process-services-cloud/src/lib/i18n/en.json
+++ b/lib/process-services-cloud/src/lib/i18n/en.json
@@ -174,6 +174,7 @@
},
"ADF_CLOUD_EDIT_TASK_FILTER": {
"TITLE": "Customize your filter",
+ "FILTER_NAME": "Filter name",
"TOOL_TIP": {
"SAVE": "Save filter",
"SAVE_AS": "Save filter as",
@@ -229,6 +230,7 @@
},
"ADF_CLOUD_EDIT_PROCESS_FILTER": {
"TITLE": "Customize your filter",
+ "FILTER_NAME": "Filter name",
"LABEL": {
"APP_NAME": "ApplicationName",
"PROCESS_INS_ID": "ProcessInstanceId",
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html
index 9f53e3fd14..7ef0c0452b 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html
+++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html
@@ -5,7 +5,7 @@
{{processFilter.name | translate}}
{{ 'ADF_CLOUD_EDIT_PROCESS_FILTER.TITLE' | translate}}
-
+