From ee588df85b4926b1da1dd4849a016a419331d032 Mon Sep 17 00:00:00 2001 From: MichalKinas <113341662+MichalKinas@users.noreply.github.com> Date: Wed, 28 Jun 2023 06:55:47 +0200 Subject: [PATCH] [ACS-5436] Logical search final version (#8709) * [ACS-5436] Logical search final version * [ACS-5436] CR fixes * [ACS-5436] Remove unnecessary escape characters --- .../components/search-chip-input.component.md | 49 ------ .../search-logical-filter.component.md | 4 +- .../images/search-logical-filter.png | Bin 65779 -> 71929 bytes lib/content-services/src/lib/i18n/en.json | 15 +- .../search-chip-input.component.html | 15 -- .../search-chip-input.component.scss | 18 -- .../search-chip-input.component.spec.ts | 161 ------------------ .../search-chip-input.component.ts | 76 --------- .../search-logical-filter.component.html | 23 +-- .../search-logical-filter.component.scss | 21 ++- .../search-logical-filter.component.spec.ts | 67 ++++---- .../search-logical-filter.component.ts | 53 +++--- .../src/lib/search/public-api.ts | 1 - .../src/lib/search/search.module.ts | 3 - 14 files changed, 102 insertions(+), 404 deletions(-) delete mode 100644 docs/content-services/components/search-chip-input.component.md delete mode 100644 lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.html delete mode 100644 lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.scss delete mode 100644 lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.spec.ts delete mode 100644 lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts diff --git a/docs/content-services/components/search-chip-input.component.md b/docs/content-services/components/search-chip-input.component.md deleted file mode 100644 index ea38705a60..0000000000 --- a/docs/content-services/components/search-chip-input.component.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -Title: Search Chip Input component -Added: v6.1.0 -Status: Active -Last reviewed: 2023-06-01 ---- - -# [Search Chip Input component](../../../lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts "Defined in search-chip-input.component.ts") - -Represents an input with stacked list of chips as phrases added through input. - -![Search Chip Input](../../docassets/images/search-chip-input.png) - -## Basic usage - -```html - - -``` - -### Properties - -| Name | Type | Default value | Description | -| ---- | ---- | ------------- | ----------- | -| label | `string` | | Label that will be associated with the input | -| addOnBlur | `boolean` | true | Specifies whether new phrase will be added when input blurs | -| onReset | [`Observable`](https://rxjs.dev/guide/observable)`` | | Observable that will listen to any reset event causing component to clear the chips and input | - -### Events - -| Name | Type | Description | -| ---- | ---- | ----------- | -| phrasesChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`` | Emitted when new phrase is entered | - -## See also - -- [Search Configuration Guide](../../user-guide/search-configuration-guide.md) -- [Search Query Builder service](../services/search-query-builder.service.md) -- [Search Widget Interface](../interfaces/search-widget.interface.md) -- [Search Logical Filter component](search-logical-filter.component.md) -- [Search check list component](search-check-list.component.md) -- [Search date range component](search-date-range.component.md) -- [Search number range component](search-number-range.component.md) -- [Search radio component](search-radio.component.md) -- [Search slider component](search-slider.component.md) -- [Search text component](search-text.component.md) diff --git a/docs/content-services/components/search-logical-filter.component.md b/docs/content-services/components/search-logical-filter.component.md index 30d7bb04c7..a5c79ae7da 100644 --- a/docs/content-services/components/search-logical-filter.component.md +++ b/docs/content-services/components/search-logical-filter.component.md @@ -7,7 +7,7 @@ Last reviewed: 2023-06-01 # [Search Logical Filter component](../../../lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts "Defined in search-logical-filter.component.ts") -Implements a [search widget](../../../lib/content-services/src/lib/search/models/search-widget.interface.ts) consisting of 3 chip inputs representing logical conditions to form search query from. +Implements a [search widget](../../../lib/content-services/src/lib/search/models/search-widget.interface.ts) consisting of 4 inputs representing logical conditions to form search query from. ![Search Logical Filter](../../docassets/images/search-logical-filter.png) @@ -45,14 +45,12 @@ Implements a [search widget](../../../lib/content-services/src/lib/search/models ## Details This component lets the user provide logical conditions to apply to each `field` in the search query. -See the [Search chip input component](search-chip-input.component.md) for full details of how to use chip inputs. ## See also - [Search Configuration Guide](../../user-guide/search-configuration-guide.md) - [Search Query Builder service](../services/search-query-builder.service.md) - [Search Widget Interface](../interfaces/search-widget.interface.md) -- [Search Chip Input component](search-chip-input.component.md) - [Search check list component](search-check-list.component.md) - [Search date range component](search-date-range.component.md) - [Search number range component](search-number-range.component.md) diff --git a/docs/docassets/images/search-logical-filter.png b/docs/docassets/images/search-logical-filter.png index b9c826aaac54d0d7b6d3e191ed9b81d7f3826f7a..b78f81cf303db610da6deb376ff7d719f5909c2d 100644 GIT binary patch literal 71929 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

9WL(0^+7^m^~*8->brl!oFsE&3;JKz?F3 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%0DY4?OqxRF8Nj@aJEKpn_~U^(8XPob_BN&v3j* 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 | translate}} - - - {{phrase}} - - - - diff --git a/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.scss b/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.scss deleted file mode 100644 index 8733000835..0000000000 --- a/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.scss +++ /dev/null @@ -1,18 +0,0 @@ -.adf-search-chip-input { - padding-bottom: 15px; - - .mat-chip-list-wrapper { - border: 1px solid var(--adf-theme-mat-grey-color-a400); - border-radius: 5px; - margin-top: 5px; - - .mat-chip { - word-break: break-all; - height: unset; - } - - input { - height: 25px; - } - } -} diff --git a/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.spec.ts b/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.spec.ts deleted file mode 100644 index 0e3e85d279..0000000000 --- a/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.spec.ts +++ /dev/null @@ -1,161 +0,0 @@ -/*! - * @license - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * 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 { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MatChip, MatChipRemove } from '@angular/material/chips'; -import { By } from '@angular/platform-browser'; -import { TranslateModule } from '@ngx-translate/core'; -import { Subject } from 'rxjs'; -import { ContentTestingModule } from '../../../testing/content.testing.module'; -import { SearchChipInputComponent } from './search-chip-input.component'; - -describe('SearchChipInputComponent', () => { - let component: SearchChipInputComponent; - let fixture: ComponentFixture; - const onResetSubject = new Subject(); - - beforeEach(() => { - TestBed.configureTestingModule({ - declarations: [SearchChipInputComponent], - imports: [ - TranslateModule.forRoot(), - ContentTestingModule - ] - }); - - fixture = TestBed.createComponent(SearchChipInputComponent); - component = fixture.componentInstance; - component.onReset = onResetSubject.asObservable(); - fixture.detectChanges(); - }); - - afterEach(() => removeAllChips()); - - function getChipInput(): HTMLInputElement { - return fixture.debugElement.query(By.css('input')).nativeElement; - } - - function getChipList(): MatChip[] { - return fixture.debugElement.queryAll(By.css('mat-chip')).map((chip) => chip.nativeElement); - } - - function getChipValue(index: number): string { - return fixture.debugElement.queryAll(By.css('mat-chip span')).map((chip) => chip.nativeElement)[index].innerText; - } - - function enterNewChip(value: string) { - const input = getChipInput(); - input.value = value; - fixture.detectChanges(); - input.dispatchEvent(new KeyboardEvent('keydown', {keyCode: 13})); - fixture.detectChanges(); - } - - function removeAllChips() { - const chips = getChipList(); - if (!!chips && chips.length > 0) { - chips.forEach((chip) => chip.remove()); - } - } - - function removeChip(index: number) { - const removeBtns = fixture.debugElement.queryAll(By.directive(MatChipRemove)).map((removeBtn) => removeBtn.nativeElement); - removeBtns[index].click(); - fixture.detectChanges(); - } - - it('should display label provided as component input', () => { - const label = 'Test'; - component.label = label; - fixture.detectChanges(); - const matLabel = fixture.debugElement.query(By.css('mat-label')).nativeElement.innerText; - expect(matLabel).toBe(label); - }); - - it('should display proper placeholder for chip input', () => { - const input = getChipInput(); - expect(input.placeholder).toBe('SEARCH.LOGICAL_SEARCH.SEARCH_CHIP_INPUT.ADD_PHRASE'); - }); - - it('should not display any chips initially', () => { - const chips = getChipList(); - expect(chips).toEqual([]); - }); - - it('should add new chip when input has value and enter was hit', () => { - const phrasesChangedSpy = spyOn(component.phrasesChanged, 'emit'); - enterNewChip('test'); - expect(phrasesChangedSpy).toHaveBeenCalledOnceWith(['test']); - expect(getChipList().length).toBe(1); - expect(getChipValue(0)).toBe('test'); - }); - - it('should add input value as whole phrase even if it contains whitespaces and special signs', () => { - const phrase = 'test another world &*,.;""!@#$$%^*()[]-+='; - enterNewChip(phrase); - expect(getChipList().length).toBe(1); - expect(getChipValue(0)).toBe(phrase); - }); - - it('should add new chip when input is blurred', () => { - const input = getChipInput(); - input.value = 'test'; - fixture.detectChanges(); - input.dispatchEvent(new InputEvent('blur')); - fixture.detectChanges(); - expect(input.value).toBe(''); - expect(getChipList().length).toBe(1); - expect(getChipValue(0)).toBe('test'); - }); - - it('should not add new chip when input is blurred if addOnBlur is false', () => { - component.addOnBlur = false; - const input = getChipInput(); - input.value = 'test'; - fixture.detectChanges(); - input.dispatchEvent(new InputEvent('blur')); - fixture.detectChanges(); - expect(input.value).toBe('test'); - expect(getChipList().length).toBe(0); - }); - - it('should clear the input after new chip is added', () => { - const input = getChipInput(); - enterNewChip('test2'); - expect(input.value).toBe(''); - }); - - it('should reset all chips when onReset event is emitted', () => { - enterNewChip('test1'); - enterNewChip('test2'); - enterNewChip('test3'); - const phrasesChangedSpy = spyOn(component.phrasesChanged, 'emit'); - onResetSubject.next(); - fixture.detectChanges(); - expect(phrasesChangedSpy).toHaveBeenCalledOnceWith([]); - expect(getChipList()).toEqual([]); - }); - - it('should remove chip upon clicking remove button', () => { - enterNewChip('test1'); - enterNewChip('test2'); - const phrasesChangedSpy = spyOn(component.phrasesChanged, 'emit'); - removeChip(0); - expect(phrasesChangedSpy).toHaveBeenCalledOnceWith(['test2']); - expect(getChipList().length).toEqual(1); - }); -}); diff --git a/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts b/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts deleted file mode 100644 index d85f562b45..0000000000 --- a/lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts +++ /dev/null @@ -1,76 +0,0 @@ -/*! - * @license - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * 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 { ENTER } from '@angular/cdk/keycodes'; -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core'; -import { MatChipInputEvent } from '@angular/material/chips'; -import { Observable, Subject } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; - -@Component({ - selector: 'adf-search-chip-input', - templateUrl: './search-chip-input.component.html', - styleUrls: ['./search-chip-input.component.scss'], - encapsulation: ViewEncapsulation.None, - host: { class: 'adf-search-chip-input' } -}) -export class SearchChipInputComponent implements OnInit, OnDestroy { - @Input() - label: string; - - @Input() - addOnBlur = true; - - @Input() - onReset: Observable; - - @Output() - phrasesChanged: EventEmitter = new EventEmitter(); - - private onDestroy$ = new Subject(); - phrases: string[] = []; - readonly separatorKeysCodes = [ENTER] as const; - - ngOnInit() { - this.onReset?.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.resetChips()); - } - - ngOnDestroy(): void { - this.onDestroy$.next(); - this.onDestroy$.complete(); - } - - addPhrase(event: MatChipInputEvent) { - const phrase = (event.value || '').trim(); - - if (phrase) { - this.phrases.push(phrase); - this.phrasesChanged.emit(this.phrases); - } - event.chipInput.clear(); - } - - removePhrase(index: number) { - this.phrases.splice(index, 1); - this.phrasesChanged.emit(this.phrases); - } - - private resetChips() { - this.phrases = []; - this.phrasesChanged.emit(this.phrases); - } -} diff --git a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.html b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.html index 05606fad33..07d32d2ea1 100644 --- a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.html +++ b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.html @@ -1,17 +1,10 @@

- - - - - - +
+ {{('SEARCH.LOGICAL_SEARCH.' + field + '_LABEL') | translate}} + +
diff --git a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.scss b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.scss index 99943c9939..a467b7e956 100644 --- a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.scss +++ b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.scss @@ -1,4 +1,21 @@ .adf-search-logical-filter-container { - display: flex; - flex-direction: column; + .adf-search-input { + display: flex; + flex-direction: column; + padding-bottom: 15px; + + &:last-child { + padding: 0; + } + + input { + height: 25px; + border: 1px solid var(--adf-theme-mat-grey-color-a400); + border-radius: 5px; + margin-top: 5px; + padding: 5px; + font-size: 14px; + color: var(--adf-theme-foreground-text-color); + } + } } diff --git a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.spec.ts b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.spec.ts index dc08d69c5a..27077aaaaa 100644 --- a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.spec.ts +++ b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.spec.ts @@ -19,7 +19,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateModule } from '@ngx-translate/core'; import { ContentTestingModule } from '../../../testing/content.testing.module'; -import { SearchChipInputComponent } from '../search-chip-input/search-chip-input.component'; import { LogicalSearchCondition, LogicalSearchFields, SearchLogicalFilterComponent } from './search-logical-filter.component'; describe('SearchLogicalFilterComponent', () => { @@ -28,7 +27,7 @@ describe('SearchLogicalFilterComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [SearchLogicalFilterComponent, SearchChipInputComponent], + declarations: [SearchLogicalFilterComponent], imports: [ TranslateModule.forRoot(), ContentTestingModule @@ -48,19 +47,19 @@ describe('SearchLogicalFilterComponent', () => { fixture.detectChanges(); }); - function getChipInputs(): HTMLInputElement[] { - return fixture.debugElement.queryAll(By.css('adf-search-chip-input input')).map((input) => input.nativeElement); + function getInputs(): HTMLInputElement[] { + return fixture.debugElement.queryAll(By.css('.adf-search-input input')).map((input) => input.nativeElement); } - function getChipInputsLabels(): string[] { - return fixture.debugElement.queryAll(By.css('adf-search-chip-input mat-label')).map((label) => label.nativeElement.innerText); + function getInputsLabels(): string[] { + return fixture.debugElement.queryAll(By.css('.adf-search-input mat-label')).map((label) => label.nativeElement.innerText); } function enterNewPhrase(value: string, index: number) { - const inputs = getChipInputs(); + const inputs = getInputs(); inputs[index].value = value; - fixture.detectChanges(); - inputs[index].dispatchEvent(new KeyboardEvent('keydown', {keyCode: 13})); + inputs[index].dispatchEvent(new Event('input')); + inputs[index].dispatchEvent(new Event('change')); fixture.detectChanges(); } @@ -74,12 +73,13 @@ describe('SearchLogicalFilterComponent', () => { expect(component.hasValidValue()).toBeFalse(); }); - it('should contain 3 chip input components with correct labels', () => { - const labels = getChipInputsLabels(); - expect(labels.length).toBe(3); + it('should contain 4 inputs with correct labels', () => { + const labels = getInputsLabels(); + expect(labels.length).toBe(4); expect(labels[0]).toBe('SEARCH.LOGICAL_SEARCH.MATCH_ALL_LABEL'); expect(labels[1]).toBe('SEARCH.LOGICAL_SEARCH.MATCH_ANY_LABEL'); expect(labels[2]).toBe('SEARCH.LOGICAL_SEARCH.EXCLUDE_LABEL'); + expect(labels[3]).toBe('SEARCH.LOGICAL_SEARCH.MATCH_EXACT_LABEL'); }); it('should has valid value after phrase is entered', () => { @@ -88,36 +88,34 @@ describe('SearchLogicalFilterComponent', () => { }); it('should update display value after phrases changes', () => { - spyOn(component, 'onPhraseChange').and.callThrough(); spyOn(component.displayValue$, 'next'); enterNewPhrase('test2', 0); - expect(component.onPhraseChange).toHaveBeenCalled(); - expect(component.displayValue$.next).toHaveBeenCalledOnceWith(` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[0]}: test2`); + expect(component.displayValue$.next).toHaveBeenCalledOnceWith(` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[0]}: test2`); }); it('should have correct display value after each field has at least one phrase', () => { - spyOn(component, 'onPhraseChange').and.callThrough(); spyOn(component.displayValue$, 'next'); enterNewPhrase('test1', 0); enterNewPhrase('test2', 1); enterNewPhrase('test3', 2); - const displayVal1 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[0]}: test1`; - const displayVal2 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[1]}: test2`; - const displayVal3 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[2]}: test3`; - expect(component.onPhraseChange).toHaveBeenCalled(); - expect(component.displayValue$.next).toHaveBeenCalledWith(displayVal1 + displayVal2 + displayVal3); + enterNewPhrase('test4', 3); + const displayVal1 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[0]}: test1`; + const displayVal2 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[1]}: test2`; + const displayVal3 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[2]}: test3`; + const displayVal4 = ` SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[3]}: test4`; + expect(component.displayValue$.next).toHaveBeenCalledWith(displayVal1 + displayVal2 + displayVal4 + displayVal3); }); it('should set correct value and update display value', () => { spyOn(component.displayValue$, 'next'); - const searchCondition: LogicalSearchCondition = { matchAll: ['test1'], matchAny: ['test2'], exclude: ['test3'] }; + const searchCondition: LogicalSearchCondition = { matchAll: 'test1', matchAny: 'test2', exclude: 'test3', matchExact: 'test4' }; component.setValue(searchCondition); expect(component.getCurrentValue()).toEqual(searchCondition); expect(component.displayValue$.next).toHaveBeenCalled(); }); it('should reset value and display value when reset is called', () => { - const searchCondition: LogicalSearchCondition = { matchAll: ['test1'], matchAny: ['test2'], exclude: ['test3'] }; + const searchCondition: LogicalSearchCondition = { matchAll: 'test1', matchAny: 'test2', exclude: 'test3', matchExact: 'test4' }; component.setValue(searchCondition); fixture.detectChanges(); spyOn(component.context, 'update'); @@ -125,14 +123,13 @@ describe('SearchLogicalFilterComponent', () => { component.reset(); expect(component.context.queryFragments[component.id]).toBe(''); expect(component.context.update).toHaveBeenCalled(); - expect(component.getCurrentValue()).toEqual({ matchAll: [], matchAny: [], exclude: [] }); + expect(component.getCurrentValue()).toEqual({ matchAll: '', matchAny: '', exclude: '', matchExact: '' }); expect(component.displayValue$.next).toHaveBeenCalledWith(''); }); it('should form correct query from match all field', () => { spyOn(component.context, 'update'); - enterNewPhrase('test1', 0); - enterNewPhrase('test2', 0); + enterNewPhrase(' test1 test2 ', 0); component.submitValues(); expect(component.context.update).toHaveBeenCalled(); expect(component.context.queryFragments[component.id]).toBe('((field1:"test1" AND field1:"test2") OR (field2:"test1" AND field2:"test2"))'); @@ -140,8 +137,7 @@ describe('SearchLogicalFilterComponent', () => { it('should form correct query from match any field', () => { spyOn(component.context, 'update'); - enterNewPhrase('test3', 1); - enterNewPhrase('test4', 1); + enterNewPhrase(' test3 test4', 1); component.submitValues(); expect(component.context.update).toHaveBeenCalled(); expect(component.context.queryFragments[component.id]).toBe('((field1:"test3" OR field1:"test4") OR (field2:"test3" OR field2:"test4"))'); @@ -149,23 +145,32 @@ describe('SearchLogicalFilterComponent', () => { it('should form correct query from exclude field', () => { spyOn(component.context, 'update'); - enterNewPhrase('test5', 2); - enterNewPhrase('test6', 2); + enterNewPhrase('test5 test6 ', 2); component.submitValues(); expect(component.context.update).toHaveBeenCalled(); expect(component.context.queryFragments[component.id]).toBe('((NOT field1:"test5" AND NOT field1:"test6") AND (NOT field2:"test5" AND NOT field2:"test6"))'); }); + it('should form correct query from match exact field and trim it', () => { + spyOn(component.context, 'update'); + enterNewPhrase(' test7 test8 ', 3); + component.submitValues(); + expect(component.context.update).toHaveBeenCalled(); + expect(component.context.queryFragments[component.id]).toBe('((field1:"test7 test8") OR (field2:"test7 test8"))'); + }); + it('should form correct joined query from all fields', () => { spyOn(component.context, 'update'); enterNewPhrase('test1', 0); enterNewPhrase('test2', 1); enterNewPhrase('test3', 2); + enterNewPhrase('test4', 3); component.submitValues(); const subQuery1 = '((field1:"test1") OR (field2:"test1"))'; const subQuery2 = '((field1:"test2") OR (field2:"test2"))'; const subQuery3 = '((NOT field1:"test3") AND (NOT field2:"test3"))'; + const subQuery4 = '((field1:"test4") OR (field2:"test4"))'; expect(component.context.update).toHaveBeenCalled(); - expect(component.context.queryFragments[component.id]).toBe(`${subQuery1} AND ${subQuery2} AND ${subQuery3}`); + expect(component.context.queryFragments[component.id]).toBe(`${subQuery1} AND ${subQuery2} AND ${subQuery4} AND ${subQuery3}`); }); }); diff --git a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts index 6ae5784ff9..5bbeed7703 100644 --- a/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts +++ b/lib/content-services/src/lib/search/components/search-logical-filter/search-logical-filter.component.ts @@ -25,10 +25,11 @@ import { TranslationService } from '@alfresco/adf-core'; export enum LogicalSearchFields { MATCH_ALL = 'matchAll', MATCH_ANY = 'matchAny', - EXCLUDE = 'exclude' + EXCLUDE = 'exclude', + MATCH_EXACT = 'matchExact' } -export type LogicalSearchConditionEnumValuedKeys = { [T in LogicalSearchFields]: string[]; }; +export type LogicalSearchConditionEnumValuedKeys = { [T in LogicalSearchFields]: string; }; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface LogicalSearchCondition extends LogicalSearchConditionEnumValuedKeys {} @@ -39,26 +40,22 @@ export interface LogicalSearchCondition extends LogicalSearchConditionEnumValued encapsulation: ViewEncapsulation.None }) export class SearchLogicalFilterComponent implements SearchWidget, OnInit { - private searchCondition: LogicalSearchCondition; - private reset$ = new Subject(); - id: string; settings?: SearchWidgetSettings; context?: SearchQueryBuilderService; startValue: string; - displayValue$: Subject = new Subject(); - resetObservable = this.reset$.asObservable(); + searchCondition: LogicalSearchCondition; + fields = Object.keys(LogicalSearchFields); LogicalSearchFields = LogicalSearchFields; + displayValue$: Subject = new Subject(); constructor(private translationService: TranslationService) {} ngOnInit(): void { - this.searchCondition = { matchAll: [], matchAny: [], exclude: [] }; - this.updateDisplayValue(); + this.clearSearchInputs(); } - onPhraseChange(phrases: string[], field: LogicalSearchFields) { - this.searchCondition[field] = phrases; + onInputChange() { this.updateDisplayValue(); } @@ -68,11 +65,12 @@ export class SearchLogicalFilterComponent implements SearchWidget, OnInit { const fields = this.settings.field.split(',').map((field) => field += ':'); let query = ''; Object.keys(this.searchCondition).forEach((key) => { - if (this.searchCondition[key].length > 0) { + if (this.searchCondition[key] !== '') { let connector = ''; let subQuery = ''; switch(key) { case LogicalSearchFields.MATCH_ALL: + case LogicalSearchFields.MATCH_EXACT: connector = 'AND'; break; case LogicalSearchFields.MATCH_ANY: @@ -87,12 +85,16 @@ export class SearchLogicalFilterComponent implements SearchWidget, OnInit { fields.forEach((field) => { subQuery += subQuery === '' ? '' : key === LogicalSearchFields.EXCLUDE ? ' AND ' : ' OR '; let fieldQuery = '('; - this.searchCondition[key].forEach((phrase: string) => { - const refinedPhrase = '\"' + phrase + '\"'; - fieldQuery += fieldQuery === '(' ? - `${key === LogicalSearchFields.EXCLUDE ? 'NOT ' : ''}${field}${refinedPhrase}` : - ` ${connector} ${field}${refinedPhrase}`; - }); + if (key === LogicalSearchFields.MATCH_EXACT) { + fieldQuery += field + '"' + this.searchCondition[key].trim() + '"'; + } else { + this.searchCondition[key].split(' ').filter((condition: string) => condition !== '').forEach((phrase: string) => { + const refinedPhrase = '\"' + phrase + '\"'; + fieldQuery += fieldQuery === '(' ? + `${key === LogicalSearchFields.EXCLUDE ? 'NOT ' : ''}${field}${refinedPhrase}` : + ` ${connector} ${field}${refinedPhrase}`; + }); + } subQuery += `${fieldQuery})`; }); query += query === '' ? `(${subQuery})` : ` AND (${subQuery})`; @@ -105,7 +107,7 @@ export class SearchLogicalFilterComponent implements SearchWidget, OnInit { } hasValidValue(): boolean { - return Object.keys(this.searchCondition).some((key: string) => this.searchCondition[key].length !== 0); + return Object.keys(this.searchCondition).some((key: string) => this.searchCondition[key] !== ''); } getCurrentValue(): LogicalSearchCondition { @@ -119,9 +121,8 @@ export class SearchLogicalFilterComponent implements SearchWidget, OnInit { reset() { if (this.id && this.context) { - this.reset$.next(); this.context.queryFragments[this.id] = ''; - this.updateDisplayValue(); + this.clearSearchInputs(); this.context.update(); } } @@ -130,13 +131,17 @@ export class SearchLogicalFilterComponent implements SearchWidget, OnInit { if (this.hasValidValue()) { const displayValue = Object.keys(this.searchCondition).reduce((acc, key) => { const fieldIndex = Object.values(LogicalSearchFields).indexOf(key as LogicalSearchFields); - const fieldKeyTranslated = this.translationService.instant(`SEARCH.LOGICAL_SEARCH.${Object.keys(LogicalSearchFields)[fieldIndex]}`); - const stackedPhrases = this.searchCondition[key].reduce((phraseAcc, phrase) => `${phraseAcc === '' ? phraseAcc : phraseAcc + ','} ${phrase}`, ''); - return stackedPhrases !== '' ? `${acc} ${fieldKeyTranslated}: ${stackedPhrases}` : acc; + const fieldKeyTranslated = this.translationService.instant(`SEARCH.LOGICAL_SEARCH.${this.fields[fieldIndex]}`); + return this.searchCondition[key] !== '' ? `${acc} ${fieldKeyTranslated}: ${this.searchCondition[key]}` : acc; }, ''); this.displayValue$.next(displayValue); } else { this.displayValue$.next(''); } } + + private clearSearchInputs(): void { + this.searchCondition = { matchAll: '', matchAny: '', matchExact: '', exclude: '' }; + this.updateDisplayValue(); + } } diff --git a/lib/content-services/src/lib/search/public-api.ts b/lib/content-services/src/lib/search/public-api.ts index 9fa4f9e752..d47030feac 100644 --- a/lib/content-services/src/lib/search/public-api.ts +++ b/lib/content-services/src/lib/search/public-api.ts @@ -60,7 +60,6 @@ export * from './components/search-form/search-form.component'; export * from './components/search-filter-chips/search-filter-chips.component'; export * from './components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component'; export * from './components/search-facet-field/search-facet-field.component'; -export * from './components/search-chip-input/search-chip-input.component'; export * from './components/search-logical-filter/search-logical-filter.component'; export * from './components/reset-search.directive'; export * from './components/search-chip-autocomplete-input/search-chip-autocomplete-input.component'; diff --git a/lib/content-services/src/lib/search/search.module.ts b/lib/content-services/src/lib/search/search.module.ts index b28271cb9d..a52b017b58 100644 --- a/lib/content-services/src/lib/search/search.module.ts +++ b/lib/content-services/src/lib/search/search.module.ts @@ -49,7 +49,6 @@ import { SearchFilterMenuCardComponent } from './components/search-filter-chips/ import { SearchFacetFieldComponent } from './components/search-facet-field/search-facet-field.component'; import { SearchWidgetChipComponent } from './components/search-filter-chips/search-widget-chip/search-widget-chip.component'; import { SearchFacetChipComponent } from './components/search-filter-chips/search-facet-chip/search-facet-chip.component'; -import { SearchChipInputComponent } from './components/search-chip-input/search-chip-input.component'; import { SearchLogicalFilterComponent } from './components/search-logical-filter/search-logical-filter.component'; import { ResetSearchDirective } from './components/reset-search.directive'; @@ -88,7 +87,6 @@ import { ResetSearchDirective } from './components/reset-search.directive'; SearchFacetFieldComponent, SearchWidgetChipComponent, SearchFacetChipComponent, - SearchChipInputComponent, SearchLogicalFilterComponent, ResetSearchDirective ], @@ -115,7 +113,6 @@ import { ResetSearchDirective } from './components/reset-search.directive'; SearchFilterChipsComponent, SearchFilterMenuCardComponent, SearchFacetFieldComponent, - SearchChipInputComponent, SearchLogicalFilterComponent, ResetSearchDirective ],