Improve Simple UI (#2554)

* feat[Simple-UI]: add action status list

* fix[Simple-UI]: various ui issues

* chore: add devtool

* feat[Simple-UI: add DS metadata

* feat[Simple-UI]: add sort in DS view

* feat[Simple-UI]: add created at to DS view

* style[Simple-UI]: remove id from DS view

* feat[Simple-UI]: add rsql filter & url filter

* feat[Simple-UI]: if one ds in result show details

* feat[Simple-UI]: add filter from url to targetview

* feat[Simple-UI]: add link from target details view to DS

* feat[Simple-UI]: add sort & version on target view

* refacto[Simple-UI]: linkted text area

* feat[Simple-UI]: dynamic homepage depending on permissions

* feat[Simple-UI]: sort by newest version

* feat[Simple-UI]: add target address

* feat[Simple-UI]: sort by last modified target

* fix[Simple-UI]: securityToken null if no permission

* fix[Simple-UI]: green circle on bad update

* feat[Simple-UI]: use local date format

* docs: update user config

* fix: tag filter

* feat[Simple-UI]: search on multiple attributes

* refacto: rename TargetActions -> TargetActionsHistory

* refacto: move TargetActionsHistory to a new file
This commit is contained in:
Florian BEZANNIER
2025-07-28 15:07:25 +02:00
committed by GitHub
parent 2b66449ff1
commit d2b8e74056
24 changed files with 1143 additions and 538 deletions

View File

@@ -11,9 +11,11 @@ package org.eclipse.hawkbit.mgmt.json.model.action;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -31,7 +33,7 @@ public class MgmtActionStatus {
private Long id;
@Schema(example = "running")
private String type;
private StatusType type;
private List<String> messages;
@@ -43,4 +45,79 @@ public class MgmtActionStatus {
@Schema(example = "200")
private Integer code;
public enum StatusType {
/**
* Action is finished successfully for this target.
*/
FINISHED,
/**
* Action has failed for this target.
*/
ERROR,
/**
* Action is still running but with warnings.
*/
WARNING,
/**
* Action is still running for this target.
*/
RUNNING,
/**
* Action has been canceled for this target.
*/
CANCELED,
/**
* Action is in canceling state and waiting for controller confirmation.
*/
CANCELING,
/**
* Action has been send to the target.
*/
RETRIEVED,
/**
* Action requests download by this target which has now started.
*/
DOWNLOAD,
/**
* Action is in waiting state, e.g. the action is scheduled in a rollout
* but not yet activated.
*/
SCHEDULED,
/**
* Cancellation has been rejected by the controller.
*/
CANCEL_REJECTED,
/**
* Action has been downloaded by the target and waiting for update to
* start.
*/
DOWNLOADED,
/**
* Action is waiting to be confirmed by the user
*/
WAIT_FOR_CONFIRMATION;
@JsonValue
public String getName() {
return this.name().toLowerCase();
}
@JsonCreator
public static StatusType forValue(String s) {
return StatusType.valueOf(s.toUpperCase());
}
}
}