[ACA-3506] - Filter are kept when reloaded (#5885)

* [ADF] - saving in the url the filter values

* Fixed filter status on refresh

* Fixed filter status on refresh

* [ACA-3506] - added url filtering save

* [ACA-3506] - fixed spellcheck

* improve log

* more log

* fix scripts

* Added documentation for allowUpdateOnChange setting

* Added default value in description for docs

Co-authored-by: Vito Albano <vitoalbano@Vitos-MacBook-Pro.local>
Co-authored-by: Eugenio Romano <eugenio.romano@alfresco.com>
This commit is contained in:
Vito
2020-07-20 11:39:51 +01:00
committed by GitHub
parent 44c5472fa2
commit 3b7f3a5762
33 changed files with 316 additions and 122 deletions

View File

@@ -36,16 +36,26 @@ export class SearchTextComponent implements SearchWidget, OnInit {
id: string;
settings: SearchWidgetSettings;
context: SearchQueryBuilderService;
startValue: string;
isActive = false;
enableChangeUpdate = true;
ngOnInit() {
if (this.context && this.settings && this.settings.pattern) {
const pattern = new RegExp(this.settings.pattern, 'g');
const match = pattern.exec(this.context.queryFragments[this.id] || '');
if (this.settings.allowUpdateOnChange !== undefined &&
this.settings.allowUpdateOnChange !== null) {
this.enableChangeUpdate = this.settings.allowUpdateOnChange;
}
if (match && match.length > 1) {
this.value = match[1];
}
if (this.startValue) {
this.setValue(this.startValue);
}
}
}
@@ -58,12 +68,13 @@ export class SearchTextComponent implements SearchWidget, OnInit {
onChangedHandler(event) {
this.value = event.target.value;
this.updateQuery(this.value);
this.isActive = !!this.value;
if (this.enableChangeUpdate) {
this.updateQuery(this.value);
}
}
private updateQuery(value: string) {
this.isActive = !!value;
if (this.context && this.settings && this.settings.field) {
this.context.queryFragments[this.id] = value ? `${this.settings.field}:'${this.getSearchPrefix()}${value}${this.getSearchSuffix()}'` : '';
this.context.update();
@@ -79,6 +90,15 @@ export class SearchTextComponent implements SearchWidget, OnInit {
return !!this.value;
}
getCurrentValue() {
return this.value;
}
setValue(value: string) {
this.value = value;
this.submitValues();
}
private getSearchPrefix(): string {
return this.settings.searchPrefix ? this.settings.searchPrefix : '';
}