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-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-10-06 18:08:14 +02:00
|
|
|
<!-- (blur)="displayDropdown = false" (click)="onClickInput()" -->
|
2025-09-10 16:02:31 +02:00
|
|
|
<input
|
2025-10-06 18:08:14 +02:00
|
|
|
(focus)="onInputClickedOrFocused($event)"
|
2025-09-25 17:45:20 +02:00
|
|
|
(input)="onSearchInput($event)"
|
|
|
|
class=""
|
|
|
|
placeholder="{{label}}"
|
2025-09-10 16:02:31 +02:00
|
|
|
type="text">
|
2025-09-25 16:55:38 +02:00
|
|
|
|
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
|
|
|
|
2025-09-25 17:45:20 +02:00
|
|
|
@for(sc of getFilteredSelectedChoices(); 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-10-06 18:08:14 +02:00
|
|
|
<img alt="checkbox" src="checkbox-active.svg" />
|
|
|
|
<span class="label">
|
2025-09-25 16:22:43 +02:00
|
|
|
{{ sc.label }}
|
2025-10-06 18:08:14 +02:00
|
|
|
</span>
|
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
|
|
|
|
2025-10-06 18:08:14 +02:00
|
|
|
|
|
|
|
<div class="separator">
|
|
|
|
|
|
|
|
<div class="label">Add new part number</div>
|
|
|
|
<i class="ri-add-line"></i>
|
|
|
|
</div>
|
2025-09-10 16:02:31 +02:00
|
|
|
}
|
2025-09-02 14:40:47 +02:00
|
|
|
<div class="available-items">
|
2025-09-25 16:22:43 +02:00
|
|
|
|
2025-09-25 17:43:02 +02:00
|
|
|
<!-- disponibles:-->
|
2025-09-02 14:40:47 +02:00
|
|
|
<!-- available:-->
|
2025-09-25 17:45:20 +02:00
|
|
|
@for(ac of getFilteredAvailableChoices(); track ac.value){
|
2025-09-25 16:55:38 +02:00
|
|
|
<div (click)="availableChoicesChangeToggleItem(ac)"
|
2025-09-25 16:22:43 +02:00
|
|
|
|
|
|
|
class="dropdown-item"
|
|
|
|
>
|
2025-10-06 18:08:14 +02:00
|
|
|
<img alt="checkbox" src="checkbox-inactive.svg" />
|
|
|
|
<span class="label">
|
|
|
|
{{ ac.label }}
|
|
|
|
</span>
|
2025-09-25 16:22:43 +02:00
|
|
|
</div>
|
|
|
|
}
|
|
|
|
|
2025-08-22 11:57:56 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2025-09-02 14:40:47 +02:00
|
|
|
}
|
2025-09-25 16:55:38 +02:00
|
|
|
|
2025-08-22 11:57:56 +02:00
|
|
|
</div>
|