From: Llewellyn Marshall Date: Wed, 24 Nov 2021 15:14:23 +0000 (-0500) Subject: add simple sort selectors to staff catalog X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=583440cf55efb785dd57e841f845297707817204;p=working%2FEvergreen.git add simple sort selectors to staff catalog --- diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html index c63c5e8e63..ffba61911d 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html +++ b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html @@ -1,8 +1,15 @@ - - + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.item_type, simple:ccvmSimpleMap.item_type}"> @@ -173,7 +180,7 @@ [(ngModel)]="context.termSearch.ccvmFilters.item_form"> + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.item_form, simple:ccvmSimpleMap.item_form}"> @@ -182,7 +189,7 @@ [(ngModel)]="context.termSearch.ccvmFilters.item_lang" multiple="true"> + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.item_lang, simple:ccvmSimpleMap.item_lang}"> @@ -191,7 +198,7 @@ [(ngModel)]="context.termSearch.ccvmFilters.audience" multiple="true"> + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.audience, simple:ccvmSimpleMap.audience}"> @@ -202,7 +209,7 @@ [(ngModel)]="context.termSearch.ccvmFilters.vr_format" multiple="true"> + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.vr_format, simple:ccvmSimpleMap.vr_format}"> @@ -211,7 +218,7 @@ [(ngModel)]="context.termSearch.ccvmFilters.bib_level" multiple="true"> + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.bib_level, simple:ccvmSimpleMap.bib_level}"> @@ -220,7 +227,7 @@ [(ngModel)]="context.termSearch.ccvmFilters.lit_form" multiple="true"> + *ngTemplateOutlet="ccvmOption;context:{list:ccvmMap.lit_form, simple:ccvmSimpleMap.lit_form}"> diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts index 16a124d4cc..4e01012e5d 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.ts @@ -30,6 +30,7 @@ export class SearchFormComponent implements OnInit, AfterViewInit { context: CatalogSearchContext; ccvmMap: {[ccvm: string]: IdlObject[]} = {}; + ccvmSimpleMap: {[ccvm: string]: IdlObject[]} = {}; cmfMap: {[cmf: string]: IdlObject} = {}; showSearchFilters = false; copyLocations: IdlObject[]; @@ -54,13 +55,16 @@ export class SearchFormComponent implements OnInit, AfterViewInit { } ngOnInit() { - this.ccvmMap = this.cat.ccvmMap; + this.ccvmMap = this.cat.ccvmMap; this.cmfMap = this.cat.cmfMap; this.context = this.staffCat.searchContext; // Start with advanced search options open // if any filters are active. this.showSearchFilters = this.filtersActive(); + + //create our simple sort list + this.CompileSimpleSelector(); // Some search scenarios, like rendering a search template, // will not be searchable and thus not resovle to a specific @@ -303,6 +307,21 @@ export class SearchFormComponent implements OnInit, AfterViewInit { showExcludeElectronic(): boolean { return this.staffCat.showExcludeElectronic; } + + //filters out CCVMs based on their is_simple attribute + CompileSimpleSelector(): void { + Object.keys(this.ccvmMap).forEach(cType => { + if (!this.ccvmSimpleMap[cType]) { + //creates simple sort list even if there might be no entries + this.ccvmSimpleMap[cType] = []; + } + + this.ccvmMap[cType].forEach(ccvm => { + if(ccvm.is_simple() === 't'){ + this.ccvmSimpleMap[cType].push(ccvm); + }}); + }); + } }