For the HTML5/JS user interfaces we could implement a reusable progress bar component which gets automatically updated using websockets.
User Interface
Description
ui-flex
Progress view lists all tasks and their progress (like the view Progress in Eclipse). Also allows to filter tasks by taskGroup, by instanceId, by state (started, ongoing, completed)
Problem to solve
There are several tasks which takes time:
Inexor Core
releaseWe would like to visualize the progress of these tasks using progress bars:
ui-hud
: loading map, calclight, remaining voting time, ...ui-flex
: downloading / updating releases / media repositories / user interfacesCommand line
: downloading / updating releases / media repositories / user interfacesSolution
Inexor Tree
ui-flex
for showing progress barsInexor Tree
/tasks/instances/{id}
/displayName
Downloading release 0.9.0
/taskGroup
downloadRelease
/unit
%
/min
0.0
/max
100.0
/current
30.5
/currentAlternative
158.5 MB
/startedDate
/completedDate
/instance
31417
TaskManager & API
treeNode
createTask(displayName, taskName, initial = 0, min = 0, max = 100, unit = '%', instance = 0)
updateTask(id / treeNode, current, currentAlternative = '')
treeNode
getTaskById(id)
treeNode[]
getTasksByTaskGroup(taskGroup)
downloadRelease
treeNode[]
getTasksByInstanceId(instanceId)
31417
treeNode[]
getStartedTasks()
min == current < max
treeNode[]
getActiveTasks()
min < current < max
treeNode[]
getCompletedTasks()
min < current == max
treeNode[]
getAllTasks()
removeTask(id / treeNode)
removeTasksByTaskGroup(taskGroup)
removeTasksByInstanceId(instanceId)
removeCompletedTasks()
removeAllTasks()
User Interfaces
For the HTML5/JS user interfaces we could implement a reusable progress bar component which gets automatically updated using websockets.
ui-flex
Progress
in Eclipse). Also allows to filter tasks by taskGroup, by instanceId, by state (started, ongoing, completed)ui-hud