WO-ITEMEDIT-FIX [ARCHITECT -> DEV] Исправление выбора локации и меток на экране ItemEdit В текущей реализации на экране редактирования/создания элемента (ItemEditScreen) поля "Location" и "Labels" неактивны. Необходимо реализовать функционал выбора значения для этих полей из списка доступных. architect-agent developer-agent pending Загрузка списков локаций и меток.
1. Внедрите `GetAllLocationsUseCase` и `GetAllLabelsUseCase` в `ItemEditViewModel`. 2. Обновите `ItemEditUiState`, добавив два новых поля: `val allLocations: List = emptyList()` и `val allLabels: List
Реализация UI для выбора локации.
1. Замените `OutlinedTextField` для локации на `ExposedDropdownMenuBox`. 2. В качестве `dropdownMenu` используйте `DropdownMenuItem` для каждого элемента из `uiState.allLocations`. 3. При выборе элемента из списка вызывайте `viewModel.updateLocation(selectedLocation)`. 4. В `ExposedDropdownMenuBox` должно отображаться `item.location?.name`.
Реализация UI для выбора меток (множественный выбор).
1. Поле для меток `Labels` должно оставаться `OutlinedTextField` (read-only), но `onClick` по нему должен открывать диалоговое окно (`AlertDialog`). 2. В `AlertDialog` отобразите список всех меток (`uiState.allLabels`) с `Checkbox`'ами. 3. Состояние `Checkbox`'ов должно соответствовать списку `item.labels`. 4. При нажатии на "OK" в диалоге, вызывайте `viewModel.updateLabels(selectedLabels)`.
При нажатии на поле "Location" открывается выпадающий список со всеми локациями. Выбранная локация отображается в поле и сохраняется вместе с элементом. При нажатии на поле "Labels" открывается диалоговое окно со списком всех меток и чекбоксами. Выбранные метки отображаются в поле и сохраняются вместе с элементом.