Improved workflow styling
This commit is contained in:
@@ -104,12 +104,14 @@ func (p *Page) View(c HtmxContext) {
|
||||
|
||||
func (p *Page) triggerForm(c HtmxContext) Node {
|
||||
lang := c.GetLanguage()
|
||||
return Form(p.TriggerRoute.GetHtmx(lang),
|
||||
hx.Target("#executions-list"),
|
||||
hx.Swap("outerHTML"),
|
||||
Div(Class("form-row"),
|
||||
Input(Type("text"), Name("input"), Placeholder(texts.TriggerPlaceholder.FromLang(lang))),
|
||||
Button(Type("submit"), Text(texts.TriggerButton.FromLang(lang))),
|
||||
return Div(Class("trigger-form-card"),
|
||||
Form(p.TriggerRoute.GetHtmx(lang),
|
||||
hx.Target("#executions-list"),
|
||||
hx.Swap("outerHTML"),
|
||||
Div(Class("form-row"),
|
||||
Input(Type("text"), Name("input"), Placeholder(texts.TriggerPlaceholder.FromLang(lang))),
|
||||
Button(Type("submit"), Text(texts.TriggerButton.FromLang(lang))),
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
@@ -128,22 +130,34 @@ func (p *Page) executionItem(workflowId string, jobs []*ent.GeneralQueue) Node {
|
||||
return jobs[i].CreatedAt.Before(jobs[j].CreatedAt)
|
||||
})
|
||||
|
||||
jobNodes := make([]Node, 0, len(jobs))
|
||||
for _, j := range jobs {
|
||||
jobNodes = append(jobNodes, Div(Class("job-step"),
|
||||
H4(Text(fmt.Sprintf("Step: %s", j.Name))),
|
||||
P(Text(fmt.Sprintf("Status: %s", j.Status))),
|
||||
P(Text(fmt.Sprintf("Tries: %d/%d", j.NumberOfTries, j.MaxRetries))),
|
||||
If(j.ErrorMessage != "", P(Class("error-message"), Text(fmt.Sprintf("Error: %s", j.ErrorMessage)))),
|
||||
If(len(j.Payload) > 0, Details(Summary(Text("Payload")), Pre(Class("payload-pre"), Text(fmt.Sprintf("%+v", j.Payload))))),
|
||||
If(len(j.ResultPayload) > 0, Details(Summary(Text("Result")), Pre(Class("result-pre"), Text(fmt.Sprintf("%+v", j.ResultPayload))))),
|
||||
jobNodes := make([]Node, 0, len(jobs)*2)
|
||||
for i, j := range jobs {
|
||||
statusClass := fmt.Sprintf("status-%s", j.Status)
|
||||
|
||||
jobNodes = append(jobNodes, Div(Class("step-node "+statusClass),
|
||||
Div(Class("step-content"),
|
||||
Span(Class("step-name"), Text(j.Name)),
|
||||
Span(Class("step-status-badge"), Text(string(j.Status))),
|
||||
),
|
||||
Div(Class("step-details"),
|
||||
If(j.ErrorMessage != "", P(Class("error-message"), Text(fmt.Sprintf("Error: %s", j.ErrorMessage)))),
|
||||
If(len(j.Payload) > 0, Details(Summary(Text("Payload")), Pre(Text(fmt.Sprintf("%+v", j.Payload))))),
|
||||
If(len(j.ResultPayload) > 0, Details(Summary(Text("Result")), Pre(Text(fmt.Sprintf("%+v", j.ResultPayload))))),
|
||||
),
|
||||
))
|
||||
|
||||
// Add connector if not last
|
||||
if i < len(jobs)-1 {
|
||||
jobNodes = append(jobNodes, Div(Class("step-connector "+statusClass)))
|
||||
}
|
||||
}
|
||||
|
||||
return Div(Class("execution-card"),
|
||||
H3(Text(fmt.Sprintf("Execution: %s", workflowId))),
|
||||
Div(Class("steps-list"), Group(jobNodes)),
|
||||
Hr(),
|
||||
Div(Class("execution-header"),
|
||||
H3(Text("Workflow Execution")),
|
||||
Span(Class("execution-id"), Text(fmt.Sprintf("ID: %s", workflowId))),
|
||||
),
|
||||
Div(Class("steps-flow"), Group(jobNodes)),
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user