feat(ui): добавлены новые состояния и компоненты для отображения статуса работы
This commit is contained in:
@@ -10,6 +10,10 @@ import kotlinx.coroutines.flow.StateFlow
|
||||
*/
|
||||
interface IVault : IVaultInfo {
|
||||
val storages: StateFlow<List<IStorage>>
|
||||
/**
|
||||
* Идёт загрузка/пересканирование списка storages (например, листинг удалённого vault и init каждого storage).
|
||||
*/
|
||||
val storagesScanInProgress: StateFlow<Boolean>
|
||||
val isAvailable: StateFlow<Boolean>
|
||||
val totalSpace: StateFlow<Long?>
|
||||
val availableSpace: StateFlow<Long?>
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.github.nullptroma.wallenc.domain.tasks
|
||||
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import java.util.UUID
|
||||
|
||||
interface ITaskOrchestrator {
|
||||
val pipelineState: StateFlow<PipelineState>
|
||||
@@ -12,6 +13,8 @@ interface ITaskOrchestrator {
|
||||
title: String,
|
||||
dispatcher: CoroutineDispatcher,
|
||||
work: PipelineWork,
|
||||
busyStorageUuid: UUID? = null,
|
||||
locksVaultStorageList: Boolean = false,
|
||||
): TaskId
|
||||
|
||||
fun cancel(taskId: TaskId): Boolean
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package com.github.nullptroma.wallenc.domain.tasks
|
||||
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import java.util.UUID
|
||||
|
||||
data class PipelineTask(
|
||||
val id: TaskId,
|
||||
val title: String,
|
||||
val dispatcher: CoroutineDispatcher,
|
||||
val state: TaskRunState,
|
||||
/** UUID storage, для которого идёт задача (кнопки только этой строки в UI). */
|
||||
val busyStorageUuid: UUID? = null,
|
||||
/** Задача меняет список storages в vault (например создание) — блокируем FAB «+». */
|
||||
val locksVaultStorageList: Boolean = false,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user