X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6c2cda1556008aff8aa3c0a0aa8d8164606f5c42..50c7935cf1152cb9061f4c4bcbcb7086261a1204:/src/services/search-service/search-service.ts diff --git a/src/services/search-service/search-service.ts b/src/services/search-service/search-service.ts index 9d60e1b6a7..84d120a89c 100644 --- a/src/services/search-service/search-service.ts +++ b/src/services/search-service/search-service.ts @@ -5,34 +5,29 @@ import { SearchBarAdvanceFormData } from '~/models/search-bar'; export class SearchService { - private recentQueries: string[] = this.getRecentQueries(); + private recentQueries = this.getRecentQueries(); private savedQueries: SearchBarAdvanceFormData[] = this.getSavedQueries(); saveRecentQuery(query: string) { if (this.recentQueries.length >= MAX_NUMBER_OF_RECENT_QUERIES) { this.recentQueries.shift(); - this.recentQueries.push(query); - } else { - this.recentQueries.push(query); } + this.recentQueries.push(query); localStorage.setItem('recentQueries', JSON.stringify(this.recentQueries)); } - getRecentQueries() { - return JSON.parse(localStorage.getItem('recentQueries') || '[]') as string[]; + getRecentQueries(): string[] { + return JSON.parse(localStorage.getItem('recentQueries') || '[]'); } saveQuery(data: SearchBarAdvanceFormData) { - this.savedQueries.push({ - type: data.type, - cluster: data.cluster, - project: data.project, - inTrash: data.inTrash, - dateFrom: data.dateFrom, - dateTo: data.dateTo, - saveQuery: data.saveQuery, - searchQuery: data.searchQuery - }); + this.savedQueries.push({...data}); + localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries)); + } + + editSavedQueries(data: SearchBarAdvanceFormData) { + const itemIndex = this.savedQueries.findIndex(item => item.queryName === data.queryName); + this.savedQueries[itemIndex] = {...data}; localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries)); } @@ -46,4 +41,4 @@ export class SearchService { } } -const MAX_NUMBER_OF_RECENT_QUERIES = 5; \ No newline at end of file +const MAX_NUMBER_OF_RECENT_QUERIES = 5;