mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACA-4220] - preselect initator values by username (#6860)
* [ACA-4220] - preselect initator values by username * add unit test * fix demoshell process filters * revert app.config * fix build Co-authored-by: Silviu Constantin Popa <silviucpopa@L3700101120.ness.com>
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
class="app-cloud-layout-overflow"
|
||||
[appName]="editedFilter.appName"
|
||||
[appVersion]="editedFilter.appVersion"
|
||||
[initiator]="getInitiatorValue()"
|
||||
[initiator]="editedFilter.initiator"
|
||||
[processDefinitionId]="editedFilter.processDefinitionId"
|
||||
[processDefinitionName]="editedFilter.processDefinitionName"
|
||||
[processDefinitionKey]="editedFilter.processDefinitionKey"
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component, OnInit, OnDestroy } from '@angular/core';
|
||||
import { EditProcessFilterCloudComponent, ProcessFilterAction, ProcessFilterCloudModel, ProcessFilterCloudService } from '@alfresco/adf-process-services-cloud';
|
||||
import { EditProcessFilterCloudComponent, ProcessFilterAction, ProcessFilterCloudModel } from '@alfresco/adf-process-services-cloud';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { UserPreferencesService, DataCellEvent } from '@alfresco/adf-core';
|
||||
import { CloudLayoutService, CloudServiceSettings } from './services/cloud-layout.service';
|
||||
@@ -60,7 +60,6 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
private router: Router,
|
||||
private cloudLayoutService: CloudLayoutService,
|
||||
private cloudProcessFiltersService: CloudProcessFiltersService,
|
||||
private processFilterCloudService: ProcessFilterCloudService,
|
||||
private userPreference: UserPreferencesService) {
|
||||
}
|
||||
|
||||
@@ -102,10 +101,6 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
getInitiatorValue(): string {
|
||||
return this.editedFilter.initiator?.map(initiator => initiator.username).join(',');
|
||||
}
|
||||
|
||||
onChangePageSize(event: Pagination) {
|
||||
this.userPreference.paginationSize = event.maxItems;
|
||||
}
|
||||
@@ -181,9 +176,7 @@ export class ProcessesCloudDemoComponent implements OnInit, OnDestroy {
|
||||
|
||||
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);
|
||||
});
|
||||
this.editedFilter = model;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -157,7 +157,6 @@ export class PeopleCloudComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
|
||||
if (this.valueChanged(changes.preSelectUsers)
|
||||
|| this.valueChanged(changes.mode)
|
||||
|| this.valueChanged(changes.validate)
|
||||
|
@@ -89,7 +89,7 @@
|
||||
|
||||
<div fxFlex="23%" *ngIf="processFilterProperty.type === 'people'">
|
||||
<adf-cloud-people
|
||||
[preSelectUsers]="processFilterProperty.value"
|
||||
[preSelectUsers]="initiatorOptions"
|
||||
[title]="processFilterProperty.label"
|
||||
[validate]="true"
|
||||
[appName]="appName"
|
||||
|
@@ -54,6 +54,7 @@ describe('EditProcessFilterCloudComponent', () => {
|
||||
name: 'FakeRunningProcess',
|
||||
icon: 'adjust',
|
||||
id: 'mock-process-filter-id',
|
||||
initiator: 'user1,user2',
|
||||
status: 'RUNNING',
|
||||
appName: 'mock-app-name',
|
||||
appVersion: 1,
|
||||
@@ -893,5 +894,15 @@ describe('EditProcessFilterCloudComponent', () => {
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
it('should build initiator as object array', () => {
|
||||
component.appName = 'fake';
|
||||
component.filterProperties = ['appName', 'initiator'];
|
||||
const taskFilterIdChange = new SimpleChange(undefined, 'mock-task-filter-id', true);
|
||||
component.ngOnChanges({ 'id': taskFilterIdChange });
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(component.initiatorOptions).toEqual([ { username: 'user1' }, { username: 'user2'} ]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -151,6 +151,7 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
|
||||
processFilterActions: ProcessFilterAction[] = [];
|
||||
toggleFilterActions: boolean = false;
|
||||
appVersionOptions: ProcessFilterOptions[] = [];
|
||||
initiatorOptions: IdentityUserModel[] = [];
|
||||
|
||||
private onDestroy$ = new Subject<boolean>();
|
||||
isLoading: boolean = false;
|
||||
@@ -267,6 +268,12 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
|
||||
this.getAppVersionOptions();
|
||||
}
|
||||
|
||||
if (this.filterProperties.includes('initiator')) {
|
||||
this.initiatorOptions = !!this.processFilter.initiator
|
||||
? this.processFilter.initiator.split(',').map( username => Object.assign({}, { username: username }))
|
||||
: [];
|
||||
}
|
||||
|
||||
const defaultProperties = this.createProcessFilterProperties(this.processFilter);
|
||||
let filteredProperties = defaultProperties.filter((filterProperty) => this.isValidProperty(this.filterProperties, filterProperty.key));
|
||||
|
||||
@@ -368,7 +375,7 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
|
||||
}
|
||||
|
||||
onChangedUser(users: IdentityUserModel[], processProperty: ProcessFilterProperties) {
|
||||
this.getPropertyController(processProperty).setValue(users);
|
||||
this.getPropertyController(processProperty).setValue(users.map( user => user.username).join(','));
|
||||
}
|
||||
|
||||
hasError(property: ProcessFilterProperties): boolean {
|
||||
|
@@ -17,7 +17,6 @@
|
||||
import { DateCloudFilterType } from '../../../models/date-cloud-filter.model';
|
||||
import { DateRangeFilterService } from '../../../common/date-range-filter/date-range-filter.service';
|
||||
import { ComponentSelectionMode } from '../../../types';
|
||||
import { IdentityUserModel } from '@alfresco/adf-core';
|
||||
|
||||
export class ProcessFilterCloudModel {
|
||||
|
||||
@@ -32,7 +31,7 @@ export class ProcessFilterCloudModel {
|
||||
appVersion?: number | number[];
|
||||
processName: string;
|
||||
processInstanceId: string;
|
||||
initiator: IdentityUserModel[];
|
||||
initiator: string;
|
||||
status: string;
|
||||
sort: string;
|
||||
order: string;
|
||||
|
Reference in New Issue
Block a user