From dcee6abc358d4558fdfc93e24c3ae6e5aa1409ce Mon Sep 17 00:00:00 2001 From: Vito Date: Thu, 19 Jan 2017 03:52:06 -0800 Subject: [PATCH] #1484 - clean search result when nothing is typed in the search input (#1502) --- .../activiti-people-search.component.html | 2 +- .../activiti-people-search.component.spec.ts | 2 +- .../activiti-people-search.component.ts | 10 ++++------ .../components/activiti-people.component.html | 2 +- .../components/activiti-people.component.spec.ts | 16 +++++++++++++++- .../src/components/activiti-people.component.ts | 6 +++++- .../ng2-activiti-tasklist/src/i18n/en.json | 5 ++++- .../ng2-activiti-tasklist/src/i18n/it.json | 5 ++++- 8 files changed, 35 insertions(+), 13 deletions(-) diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.html b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.html index 94a6dc7075..279df098d6 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.html +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.html @@ -11,6 +11,6 @@
- No user found to involve + {{'PEOPLE.SEARCH.NO_USERS' | translate }}
diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.spec.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.spec.ts index ab0e57f66e..d9de39445a 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.spec.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.spec.ts @@ -83,7 +83,7 @@ describe('ActivitiPeopleSearch', () => { fixture.whenStable() .then(() => { expect(element.querySelector('#no-user-found')).not.toBeNull(); - expect(element.querySelector('#no-user-found').textContent).toContain('No user found to involve'); + expect(element.querySelector('#no-user-found').textContent).toContain('PEOPLE.SEARCH.NO_USERS'); }); }); diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.ts index 0305aef787..faa5dd69a4 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people-search.component.ts @@ -58,9 +58,11 @@ export class ActivitiPeopleSearch implements OnInit, AfterViewInit { this.searchUser .valueChanges .debounceTime(200) - .subscribe((event) => { - if (event) { + .subscribe((event: string) => { + if (event && event.trim()) { this.onSearch.emit(event); + } else { + this.userList = []; } }); } @@ -98,8 +100,4 @@ export class ActivitiPeopleSearch implements OnInit, AfterViewInit { let lastName = user.lastName && user.lastName !== 'null' ? user.lastName : 'N/A'; return firstName + ' - ' + lastName; } - - cleanSearch() { - this.searchUser.reset(); - } } diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.html b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.html index 1796ca2643..f8352a46b1 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.html +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.html @@ -29,7 +29,7 @@
-
diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.spec.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.spec.ts index ee2e95fb3c..3eb39487a1 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.spec.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.spec.ts @@ -111,10 +111,24 @@ describe('ActivitiPeople', () => { it('should close dialog when clicked on cancel', () => { activitiPeopleComponent.showDialog(); expect(element.querySelector('#addPeople')).not.toBeNull(); - activitiPeopleComponent.cancel(); + activitiPeopleComponent.closeDialog(); let dialogWindow = element.querySelector('#add-people-dialog'); expect(dialogWindow.getAttribute('open')).toBeNull(); }); + + it('should reset search input when the dialog is closed', () => { + let userInputSearch: HTMLInputElement; + activitiPeopleComponent.showDialog(); + expect(element.querySelector('#addPeople')).not.toBeNull(); + userInputSearch = element.querySelector('#userSearchText'); + userInputSearch.value = 'fake-search-value'; + activitiPeopleComponent.closeDialog(); + activitiPeopleComponent.showDialog(); + userInputSearch = element.querySelector('#userSearchText'); + + expect(userInputSearch).not.toBeNull(); + expect(userInputSearch.value).toBeFalsy(); + }); }); describe('when there are involved people', () => { diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.ts index cc4733429e..99bd8cd213 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-people.component.ts @@ -48,6 +48,9 @@ export class ActivitiPeople { @ViewChild('dialog') dialog: any; + @ViewChild('activitipeoplesearch') + activitipeoplesearch: any; + private peopleSearchObserver: Observer; peopleSearch$: Observable; @@ -74,10 +77,11 @@ export class ActivitiPeople { } } - public cancel() { + public closeDialog() { if (this.dialog) { this.dialog.nativeElement.close(); this.peopleSearchObserver.next([]); + this.activitipeoplesearch.searchUser.reset(); } } diff --git a/ng2-components/ng2-activiti-tasklist/src/i18n/en.json b/ng2-components/ng2-activiti-tasklist/src/i18n/en.json index 0d265fbafc..7268426c3e 100644 --- a/ng2-components/ng2-activiti-tasklist/src/i18n/en.json +++ b/ng2-components/ng2-activiti-tasklist/src/i18n/en.json @@ -78,6 +78,9 @@ } }, "PEOPLE": { - "DIALOG_CLOSE": "CLOSE" + "DIALOG_CLOSE": "CLOSE", + "SEARCH": { + "NO_USERS": "No user found to involve" + } } } diff --git a/ng2-components/ng2-activiti-tasklist/src/i18n/it.json b/ng2-components/ng2-activiti-tasklist/src/i18n/it.json index 8d2e557e10..2965bcdb39 100644 --- a/ng2-components/ng2-activiti-tasklist/src/i18n/it.json +++ b/ng2-components/ng2-activiti-tasklist/src/i18n/it.json @@ -34,6 +34,9 @@ } }, "PEOPLE": { - "DIALOG_CLOSE": "CHIUDI" + "DIALOG_CLOSE": "CHIUDI", + "SEARCH": { + "NO_USERS": "Nessun utente trovato" + } } }