Skip to content

Commit

Permalink
Create functions repeated search terms and add openAccess as filter
Browse files Browse the repository at this point in the history
  • Loading branch information
ommann committed Jan 17, 2024
1 parent 413771b commit 892ffd2
Show file tree
Hide file tree
Showing 3 changed files with 211 additions and 246 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,54 @@ <h3 style='font-size: 1.4rem; margin: 0'>Rajaa hakua</h3>
</ng-container>
</app-collapsible>
</div>

<!-- TODO DELETE -->
<div style='margin: 1rem'></div>

<div>
<app-collapsible [label]='labelText.openAccess' hasTooltip='true'>
<ng-container tooltip>
<p>
<strong><ng-container i18n='@@openAccessPublicationChannel'>Open access -julkaisukanava: </ng-container></strong>
<ng-container>Julkaisu on ilmestynyt julkaisukanavassa, jonka kaikki julkaisut ovat avoimesti saatavilla.</ng-container>
</p>

<p>
<strong><ng-container i18n='@@delayedOpenAccessInfoCaption'>Viivästetty avoin saatavuus: </ng-container></strong>
<ng-container i18n='@@delayedOpenAccessInfo'>Julkaisukanavan tieteelliset artikkelit avataan kustantajan määrittelemän viiveajan jälkeen. Sisältää sekä jo avoimesti saatavilla että yhä maksumuurin takana olevia julkaisuja.</ng-container>
</p>

<p>
<strong><ng-container i18n='@@selfArchived'>Rinnakkaistallennettu: </ng-container></strong>
<ng-container>Julkaisu on tallennettu organisaatio- tai tieteenalakohtaiseen julkaisuarkistoon joko välittömästi tai kustantajan määrittämän kohtuullisen embargoajan jälkeen.</ng-container>
</p>

<p>
<strong><ng-container i18n='@@otherOpenAccess'>Muu avoin saatavuus: </ng-container></strong>
<ng-container>Julkaisu on avoimesti saatavilla, mutta se on ilmestynyt ns. hybridijulkaisukanavassa, jossa kaikki muut julkaisut eivät ole avoimesti saatavilla.</ng-container>
</p>

<p>
<strong><ng-container i18n='@@nonOpenAccess'>Ei avoin: </ng-container></strong>
<ng-container i18n='@@nonOpenAccessInfo'>Julkaisu ei ole ilmestynyt avoimessa julkaisukanavassa, eikä julkaisua ole saatavilla avoimena rinnakkaistallenteena. Huom. myös julkaisut jotka ovat tilapäisesti avoimesti saatavilla, esimerkiksi ajankohtaisen yhteiskunnallisesti merkittävän aiheen tai kustantajan markkinointikampanjan takia, tulevat näkyville tämän kategorian kautta.</ng-container>
</p>

<p>
<strong><ng-container i18n='@@noOpenAccessData'>Ei tietoa: </ng-container></strong>
<ng-container i18n='@@noOpenAccessDataInfo'>Julkaisun avoimen saatavuuden tilaa ei ole raportoitu.</ng-container>
</p>
</ng-container>

<ng-container *ngFor='let openAccessFilter of openAccessFilters$ | async'>
<app-filter-option [label]='openAccessFilter.name'
[count]='openAccessFilter.count'
[value]='openAccessFilter.enabled'
(valueChange)='toggleParam("openAccess", openAccessFilter.id)'>
</app-filter-option>
</ng-container>
</app-collapsible>
</div>

</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
getPublicationFormatAdditions, getPublicationTypeCodeAdditions,
getYearAdditions,
HighlightedPublication,
Publication2Service
Publication2Service, getOpenAccessAdditions
} from '@portal/services/publication2.service';
import { map, take, tap } from 'rxjs/operators';
import { SharedModule } from '@shared/shared.module';
Expand Down Expand Up @@ -64,6 +64,7 @@ export class Publications2Component implements OnDestroy {
publisherInternationality: $localize`:@@publisherInternationality:Kustantajan kansainvälisyys`,
language: $localize`:@@language:Kieli`,
jufoLevel: $localize`:@@jufoLevel:Julkaisufoorumitaso`,
openAccess: $localize`:@@openAccess:Avoin saatavuus`,
}

publicationTypeLabels = [
Expand Down Expand Up @@ -312,6 +313,25 @@ export class Publications2Component implements OnDestroy {
tap(filters => this.updateFilterCount("parentPublicationType", filters.filter(filter => filter.enabled).length))
);

// TODO: OPEN ACCESS FILTER

additionsFromOpenAccess$ = this.aggregations$.pipe(
map(aggs => getOpenAccessAdditions(aggs).map((bucket: any) => ({ id: bucket.key.toString(), count: bucket.doc_count })) ?? []),
map(aggs => aggs.sort((a, b) => b.count - a.count))
);

openAccessFilters$ = combineLatest([this.additionsFromOpenAccess$, this.searchParams$.pipe(map(params => params.openAccess ?? []))]).pipe(
map(([additionsFromOpenAccess, enabledFilters]) => additionsFromOpenAccess.map(additionFromOpenAccess => ({
id: additionFromOpenAccess.id,
count: additionFromOpenAccess.count,
name: additionFromOpenAccess.id, // TODO TODO TODO TODO
enabled: enabledFilters.includes(additionFromOpenAccess.id)
}))),
tap(filters => this.updateFilterCount("openAccess", filters.filter(filter => filter.enabled).length))
);



public mainFieldOfScienceName = {
"1": $localize`:@@naturalSciences:Luonnontieteet`,
"2": $localize`:@@engineeringTecnology:Tekniikka`,
Expand Down
Loading

0 comments on commit 892ffd2

Please sign in to comment.