2026-05-27 20:56:30 -04:00
{
"client_requirement" : "client_is_viewer+" ,
"items" : [
{
"type" : "header_page_title" ,
"items" : [
{
"type" : "h1" ,
"text" : "Actions"
} ,
{
"type" : "p" ,
"text" : "Apply or stage pending configuration changes."
}
]
} ,
{
"type" : "card" ,
"label" : "Pending Actions" ,
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "form" ,
2026-05-27 22:04:04 -04:00
"action" : "/action/actions/pending_apply" ,
2026-05-27 20:56:30 -04:00
"method" : "post" ,
"items" : [
{
"type" : "raw_html" ,
"html" : "%PENDING_ACTIONS_HTML%"
} ,
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
"text" : "Apply Now" ,
"disabled" : "%NO_PENDING%"
} ,
{
"type" : "raw_html" ,
"html" : "%APPLY_WARNING%"
2026-05-29 22:53:20 -04:00
} ,
{
"type" : "raw_html" ,
"html" : "<span style='flex:1'></span>"
} ,
{
"type" : "button_danger" ,
"text" : "Dismiss All" ,
2026-05-29 23:10:04 -04:00
"formaction" : "/action/actions/pending_dismiss" ,
"disabled" : "%NO_DISMISSIBLE_PENDING%" ,
2026-05-29 22:53:20 -04:00
"client_requirement" : "client_is_manager="
2026-05-27 20:56:30 -04:00
}
]
}
]
} ,
{
"type" : "hr"
} ,
{
"type" : "form" ,
2026-05-27 22:04:04 -04:00
"action" : "/action/actions/pending_save" ,
2026-05-27 20:56:30 -04:00
"method" : "post" ,
"items" : [
{
"type" : "field" ,
"label" : "Apply Changes Immediately" ,
"name" : "apply_changes_immediately" ,
"input_type" : "checkbox" ,
"value" : "%GENERAL_APPLY_ON_SAVE%" ,
"hint" : "When enabled, saved changes are queued immediately. When disabled, changes accumulate in Pending Actions until you click Apply Now."
} ,
{
"type" : "button_row" ,
"items" : [
{
"type" : "button_primary" ,
2026-05-27 22:04:04 -04:00
"action" : "/action/actions/pending_save" ,
2026-05-27 20:56:30 -04:00
"method" : "post" ,
"text" : "Save"
} ,
{
"type" : "button_cancel" ,
"text" : "Cancel"
}
]
}
]
}
]
} ,
{
"type" : "card" ,
"label" : "Change History" ,
"client_requirement" : "client_is_administrator+" ,
"items" : [
{
"type" : "form" ,
2026-05-27 22:04:04 -04:00
"action" : "/action/actions/history_revert" ,
2026-05-27 20:56:30 -04:00
"method" : "post" ,
"items" : [
{
"type" : "raw_html" ,
"html" : "%CHANGE_HISTORY_HTML%"
} ,
{
"type" : "button_row" ,
2026-05-29 22:53:20 -04:00
"justify" : "space-between" ,
2026-05-27 20:56:30 -04:00
"items" : [
2026-06-03 15:31:39 -04:00
{
"type" : "raw_html" ,
"html" : "<label style='display:flex;align-items:center;gap:0.5rem;margin:0;font-size:0.875rem'>Revert behavior:<select name='revert_behavior' class='form-select' style='width:auto'><option value='revert_subsequent'>Revert selected and subsequent tree changes</option><option value='restore_state'>Restore to tree selected state</option></select></label>"
} ,
2026-05-27 20:56:30 -04:00
{
2026-05-29 22:53:20 -04:00
"type" : "button_secondary" ,
2026-06-03 15:31:39 -04:00
"text" : "Revert" ,
2026-05-27 20:56:30 -04:00
"disabled" : "%NO_HISTORY%"
2026-05-29 22:53:20 -04:00
} ,
2026-06-03 15:31:39 -04:00
{
"type" : "raw_html" ,
"html" : "<span style='flex:1'></span>"
} ,
2026-05-29 22:53:20 -04:00
{
"type" : "button_danger" ,
2026-05-29 23:10:04 -04:00
"text" : "Clear Selected History" ,
"formaction" : "/action/actions/history_clear" ,
2026-05-29 22:53:20 -04:00
"disabled" : "%NO_HISTORY%" ,
"client_requirement" : "client_is_manager="
2026-05-27 20:56:30 -04:00
}
]
}
]
}
]
}
]
}