Fix period filter and add filters counter

This commit is contained in:
Konstantinos Triantafyllou 2022-08-02 10:42:23 +03:00
parent bd02944e07
commit 6a952b2615
4 changed files with 14 additions and 6 deletions

View File

@ -7,7 +7,7 @@
<span class="uk-label uk-label-primary uk-flex uk-flex-middle">
<span
class="uk-margin-small-right uk-width-expand uk-text-truncate">{{periodFilter.selectedFromAndToValues}}</span>
<button [class.uk-disabled]="loading" (click)="clearPeriodFilter()" class="uk-close uk-icon"
<button [class.uk-disabled]="loading" (click)="clearPeriodFilter();" class="uk-close uk-icon"
[disabled]="loading">
<icon name="close" flex="true" ratio="0.7"></icon>
</button>
@ -263,6 +263,9 @@
<div *ngIf="stakeholder && !privateStakeholder " href="#style_switcher" uk-toggle="" id="filters_switcher_toggle"
class="uk-offcanvas-switcher uk-flex uk-flex-center uk-flex-middle">
<icon name="filters" ratio="1.5" visuallyHidden="Filters" gradient="filters_icon"></icon>
<span [class.uk-hidden]="countSelectedFilters() === 0" class="uk-offcanvas-count uk-flex uk-flex-middle uk-flex-center">
{{countSelectedFilters()}}
</span>
</div>
<div *ngIf="stakeholder && !privateStakeholder" id="style_switcher" class="uk-offcanvas"
uk-offcanvas="flip:true; overlay: true">
@ -281,7 +284,7 @@
<div *ngIf="!user" class="uk-margin-top"><a class="uk-link" (click)="logIn()"> Sign in</a> to apply filters.</div>
<ul *ngIf="user" class="uk-list uk-list-xlarge uk-list-divider uk-margin-top">
<li>
<range-filter [filter]="periodFilter" yearMin="2000" [yearMax]="currentYear" [mandatoryRange]="true"
<range-filter #rangeFilter [filter]="periodFilter" yearMin="2000" [yearMax]="currentYear" [mandatoryRange]="true"
(onFilterChange)="filter()"></range-filter>
</li>
<ng-container *ngFor="let filter of filters ">

View File

@ -1,4 +1,4 @@
import {ChangeDetectorRef, Component, OnDestroy, OnInit, ViewRef} from '@angular/core';
import {ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild, ViewRef} from '@angular/core';
import {ActivatedRoute, Params, Router} from '@angular/router';
import {DomSanitizer, Meta, Title} from '@angular/platform-browser';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
@ -32,6 +32,7 @@ import {properties} from "../../environments/environment";
import {IndexInfoService} from "../openaireLibrary/utils/indexInfo.service";
import {ConfigurationService} from "../openaireLibrary/utils/configuration/configuration.service";
import {ClickEvent} from '../openaireLibrary/utils/click/click-outside-or-esc.directive';
import {RangeFilterComponent} from "../openaireLibrary/utils/rangeFilter/rangeFilter.component";
@Component({
selector: 'monitor',
@ -73,6 +74,7 @@ export class MonitorComponent implements OnInit, OnDestroy {
selectedToValue: null,
selectedFromAndToValues: ""
};
@ViewChild('rangeFilter') rangeFilter: RangeFilterComponent;
privateStakeholder = false;
public keyword: FormControl;
public statsUpdateDate: Date;
@ -302,7 +304,7 @@ export class MonitorComponent implements OnInit, OnDestroy {
countSelectedFilters(): number {
let count = 0;
if (this.periodFilter.selectedFromAndToValues.length > 0) {
count += 2;
count += 1;
}
for (let filter of this.filters) {
count += filter.countSelectedValues;
@ -435,6 +437,9 @@ export class MonitorComponent implements OnInit, OnDestroy {
if (this.periodFilter.selectedFromValue || this.periodFilter.selectedToValue) {
this.periodFilter.selectedFromValue = "";
this.periodFilter.selectedToValue = "";
if(this.rangeFilter) {
this.rangeFilter.clearFilter();
}
this.filter();
}
}

@ -1 +1 @@
Subproject commit 5cb7bc7cca50cb067820e6fb9281f350e2ef0397
Subproject commit a42140bb1cb45547beb49cb74da827ebf93b1bba

@ -1 +1 @@
Subproject commit d6befee58de8fcb89e27d0c3403fd937b2e1552c
Subproject commit 1ec6023fa2378614ad032c1589a10a144975357e