WO-ITEMEDIT-FIX[ARCHITECT -> DEV] Исправление выбора локации и меток на экране ItemEditВ текущей реализации на экране редактирования/создания элемента (ItemEditScreen) поля "Location" и "Labels" неактивны. Необходимо реализовать функционал выбора значения для этих полей из списка доступных.architect-agentdeveloper-agentpendingЗагрузка списков локаций и меток.
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" открывается диалоговое окно со списком всех меток и чекбоксами.Выбранные метки отображаются в поле и сохраняются вместе с элементом.