2025-08-22 11:57:56 +02:00
|
|
|
<!-- sélecteurs-->
|
2025-09-10 16:02:31 +02:00
|
|
|
<div [ngClass]="{
|
|
|
|
'is-disabled': disabled
|
|
|
|
}"
|
|
|
|
class="input-box"
|
|
|
|
>
|
2025-09-25 16:22:43 +02:00
|
|
|
displayDropdown {{displayDropdown}}
|
2025-09-15 13:03:21 +02:00
|
|
|
|
2025-09-02 13:58:35 +02:00
|
|
|
<i class="ri-search-line search-placeholder"></i>
|
|
|
|
<div class="label">
|
2025-09-23 18:54:13 +02:00
|
|
|
<span class="d-none">
|
2025-09-02 13:58:35 +02:00
|
|
|
{{ label }}
|
2025-09-23 18:54:13 +02:00
|
|
|
</span>
|
2025-09-02 13:58:35 +02:00
|
|
|
</div>
|
2025-09-10 16:02:31 +02:00
|
|
|
<input
|
2025-09-23 18:54:13 +02:00
|
|
|
(blur)="displayDropdown = false"
|
2025-09-15 16:09:20 +02:00
|
|
|
(click)="onClickInput()"
|
|
|
|
(focus)="displayDropdown = true"
|
2025-09-10 16:02:31 +02:00
|
|
|
class="is-hidden" placeholder="{{label}}"
|
|
|
|
type="text">
|
2025-09-15 13:03:21 +02:00
|
|
|
<span [ngClass]="{ 'is-visible' : selectedChoices?.length}"
|
|
|
|
class="selected-items-counter">
|
2025-09-15 16:09:20 +02:00
|
|
|
{{ selectedChoices?.length || 0 }}
|
2025-09-15 13:03:21 +02:00
|
|
|
</span>
|
2025-09-23 18:54:13 +02:00
|
|
|
<div (click)="onClickInput()" class="dropdown-button selector-button">
|
2025-09-10 16:02:31 +02:00
|
|
|
<!-- bouton-->
|
|
|
|
<i class="ri-arrow-down-s-line"></i>
|
|
|
|
</div>
|
|
|
|
|
2025-09-25 16:22:43 +02:00
|
|
|
@if (displayDropdown ) {
|
2025-08-22 11:57:56 +02:00
|
|
|
|
2025-09-10 16:02:31 +02:00
|
|
|
|
2025-09-23 18:54:13 +02:00
|
|
|
<div class="dropdown">
|
2025-09-02 14:40:47 +02:00
|
|
|
<div class="dropdown-list">
|
|
|
|
<!-- selected:-->
|
2025-09-23 18:54:13 +02:00
|
|
|
@if (selectedChoices?.length && availableChoices?.length) {
|
|
|
|
<div class="selected-items">
|
2025-09-25 16:22:43 +02:00
|
|
|
|
|
|
|
@for(sc of selectedChoices; track sc.value){
|
2025-09-23 18:54:13 +02:00
|
|
|
<div (click)="selectedChoicesChangeToggleItem(sc)"
|
2025-09-25 16:22:43 +02:00
|
|
|
|
2025-09-23 18:54:13 +02:00
|
|
|
class="dropdown-item"
|
2025-09-10 16:02:31 +02:00
|
|
|
>
|
2025-09-02 14:40:47 +02:00
|
|
|
<i class="ri-checkbox-line"></i>
|
2025-09-25 16:22:43 +02:00
|
|
|
{{ sc.label }}
|
2025-09-02 14:40:47 +02:00
|
|
|
</div>
|
2025-09-25 16:22:43 +02:00
|
|
|
}
|
2025-09-23 18:54:13 +02:00
|
|
|
</div>
|
2025-09-10 16:02:31 +02:00
|
|
|
|
|
|
|
<hr>
|
|
|
|
}
|
2025-09-02 14:40:47 +02:00
|
|
|
<div class="available-items">
|
2025-09-25 16:22:43 +02:00
|
|
|
|
2025-09-02 14:40:47 +02:00
|
|
|
<!-- available:-->
|
2025-09-25 16:22:43 +02:00
|
|
|
@for(sc of availableChoices; track sc.value){
|
|
|
|
<div (click)="availableChoicesChangeToggleItem(sc)"
|
|
|
|
|
|
|
|
class="dropdown-item"
|
|
|
|
>
|
|
|
|
<i class="ri-checkbox-line"></i>
|
|
|
|
{{ sc.label }}
|
|
|
|
</div>
|
|
|
|
}
|
|
|
|
|
2025-08-22 11:57:56 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2025-09-02 14:40:47 +02:00
|
|
|
}
|
2025-08-22 11:57:56 +02:00
|
|
|
</div>
|