From ac31045ad407b14a451749028b35b3490f806bef Mon Sep 17 00:00:00 2001 From: Tykayn Date: Mon, 6 Oct 2025 18:31:10 +0200 Subject: [PATCH] up style multi selector --- .../filters/filters-group/filters-group.html | 2 +- .../filters/filters-group/filters-group.scss | 2 +- .../filters/filters-group/filters-group.ts | 16 ++++- .../inputs/multi-selector/multi-selector.html | 6 +- .../inputs/multi-selector/multi-selector.scss | 58 ++++++++++++------- .../inputs/multi-selector/multi-selector.ts | 21 ++----- 6 files changed, 63 insertions(+), 42 deletions(-) diff --git a/my-workspace/projects/sae-lib/filters/filters-group/filters-group.html b/my-workspace/projects/sae-lib/filters/filters-group/filters-group.html index 7561f0e..91e65cc 100644 --- a/my-workspace/projects/sae-lib/filters/filters-group/filters-group.html +++ b/my-workspace/projects/sae-lib/filters/filters-group/filters-group.html @@ -75,7 +75,7 @@ } @if (!hideChipsList) { -
+
diff --git a/my-workspace/projects/sae-lib/filters/filters-group/filters-group.scss b/my-workspace/projects/sae-lib/filters/filters-group/filters-group.scss index 33ceccb..04b95f0 100644 --- a/my-workspace/projects/sae-lib/filters/filters-group/filters-group.scss +++ b/my-workspace/projects/sae-lib/filters/filters-group/filters-group.scss @@ -65,7 +65,7 @@ .chips-listing { display: flex; position: absolute; - top: 650px; + top: 560px; margin-top: 16px; border-radius: 4px; background: variables.$csc-filters-box-color; diff --git a/my-workspace/projects/sae-lib/filters/filters-group/filters-group.ts b/my-workspace/projects/sae-lib/filters/filters-group/filters-group.ts index 921e2b1..0d54745 100644 --- a/my-workspace/projects/sae-lib/filters/filters-group/filters-group.ts +++ b/my-workspace/projects/sae-lib/filters/filters-group/filters-group.ts @@ -1,4 +1,4 @@ -import {Component, Input} from '@angular/core'; +import {Component, HostListener, Input, ElementRef} from '@angular/core'; import {MultiSelector} from '../../inputs/multi-selector/multi-selector'; import {CommonModule} from '@angular/common'; @@ -23,7 +23,7 @@ export class FiltersGroup { // Gère quel sélecteur a son dropdown ouvert activeLabel: string | null = null; - constructor() { + constructor(private elementRef: ElementRef) { console.log('constructor filters group', this.appState, this.store, this.actionTypes); } @@ -60,4 +60,16 @@ export class FiltersGroup { const label = event?.label; this.activeLabel = label || null; } + + @HostListener('document:click', ['$event']) + onDocumentClick(event: MouseEvent) { + const clickTarget = event.target as Node | null; + if (!clickTarget) { + return; + } + // Ferme tous les dropdowns si clic en dehors du groupe de filtres + if (!this.elementRef.nativeElement.contains(clickTarget)) { + this.activeLabel = null; + } + } } diff --git a/my-workspace/projects/sae-lib/inputs/multi-selector/multi-selector.html b/my-workspace/projects/sae-lib/inputs/multi-selector/multi-selector.html index a05469b..023bbce 100644 --- a/my-workspace/projects/sae-lib/inputs/multi-selector/multi-selector.html +++ b/my-workspace/projects/sae-lib/inputs/multi-selector/multi-selector.html @@ -20,6 +20,7 @@ type="text"> {{ selectedChoices?.length || 0 }} @@ -33,7 +34,8 @@