Documentation ¶
Index ¶
- Constants
- Variables
- func AssertContentResponseEquals(t *testing.T, expected, got ContentResponse)
- func AssertEqual(t *testing.T, expected, got Component)
- func OrderedBy(less []lessFunc) *multiSorter
- func TitleFromTitleComponent(tc []TitleComponent) (string, error)
- type Action
- type AdjList
- type Alert
- type AlertType
- type Annotations
- type AnnotationsConfig
- type Base
- type BaseFormField
- type Button
- type ButtonGroup
- type ButtonGroupConfig
- type ButtonOption
- type Card
- type CardConfig
- type CardList
- type CardListConfig
- type Code
- type CodeConfig
- type Component
- type Confirmation
- type ContainerDef
- type Containers
- type ContainersConfig
- type ContentResponse
- type DonutChart
- type DonutChartConfig
- type DonutChartLabels
- type DonutChartSize
- type DonutSegment
- type Dropdown
- func (t *Dropdown) AddDropdownItem(name string, itemType ItemType, label string, url string, description string)
- func (t *Dropdown) GetMetadata() Metadata
- func (t *Dropdown) MarshalJSON() ([]byte, error)
- func (t *Dropdown) SetDropdownPosition(position DropdownPosition)
- func (t *Dropdown) SetDropdownUseSelection(sel bool)
- func (t *Dropdown) SetSelection(selection string)
- func (t *Dropdown) SupportsTitle()
- type DropdownConfig
- type DropdownItemConfig
- type DropdownPosition
- type DropdownType
- type Edge
- type EdgeType
- type Editor
- type EditorConfig
- type Error
- type ErrorConfig
- type ExpressionSelector
- type ExpressionSelectorConfig
- type Extension
- type ExtensionConfig
- type ExtensionTab
- type FlexLayout
- type FlexLayoutConfig
- type FlexLayoutItem
- type FlexLayoutSection
- type Form
- type FormField
- type FormFieldCheckBox
- func (ff *FormFieldCheckBox) AddValidator(errorMessage string, validators []string)
- func (ff *FormFieldCheckBox) Configuration() map[string]interface{}
- func (ff *FormFieldCheckBox) MarshalJSON() ([]byte, error)
- func (ff *FormFieldCheckBox) UnmarshalJSON(data []byte) error
- func (ff *FormFieldCheckBox) Value() interface{}
- type FormFieldHidden
- func (ff *FormFieldHidden) AddValidator(placeholder string, errorMessage string, validators []string)
- func (ff *FormFieldHidden) Configuration() map[string]interface{}
- func (ff *FormFieldHidden) MarshalJSON() ([]byte, error)
- func (ff *FormFieldHidden) UnmarshalJSON(data []byte) error
- func (ff *FormFieldHidden) Value() interface{}
- type FormFieldNumber
- func (ff *FormFieldNumber) AddValidator(errorMessage string, validators []string)
- func (ff *FormFieldNumber) Configuration() map[string]interface{}
- func (ff *FormFieldNumber) MarshalJSON() ([]byte, error)
- func (ff *FormFieldNumber) UnmarshalJSON(data []byte) error
- func (ff *FormFieldNumber) Value() interface{}
- type FormFieldPassword
- func (ff *FormFieldPassword) AddValidator(placeholder string, errorMessage string, validators []string)
- func (ff *FormFieldPassword) Configuration() map[string]interface{}
- func (ff *FormFieldPassword) MarshalJSON() ([]byte, error)
- func (ff *FormFieldPassword) UnmarshalJSON(data []byte) error
- func (ff *FormFieldPassword) Value() interface{}
- type FormFieldRadio
- func (ff *FormFieldRadio) AddValidator(errorMessage string, validators []string)
- func (ff *FormFieldRadio) Configuration() map[string]interface{}
- func (ff *FormFieldRadio) MarshalJSON() ([]byte, error)
- func (ff *FormFieldRadio) UnmarshalJSON(data []byte) error
- func (ff *FormFieldRadio) Value() interface{}
- type FormFieldSelect
- func (ff *FormFieldSelect) AddValidator(errorMessage string, validators []string)
- func (ff *FormFieldSelect) Configuration() map[string]interface{}
- func (ff *FormFieldSelect) MarshalJSON() ([]byte, error)
- func (ff *FormFieldSelect) UnmarshalJSON(data []byte) error
- func (ff *FormFieldSelect) Value() interface{}
- type FormFieldText
- func (ff *FormFieldText) AddValidator(placeholder string, errorMessage string, validators []string)
- func (ff *FormFieldText) Configuration() map[string]interface{}
- func (ff *FormFieldText) MarshalJSON() ([]byte, error)
- func (ff *FormFieldText) UnmarshalJSON(data []byte) error
- func (ff *FormFieldText) Value() interface{}
- type FormFieldTextarea
- func (ff *FormFieldTextarea) AddValidator(placeholder string, errorMessage string, validators []string)
- func (ff *FormFieldTextarea) Configuration() map[string]interface{}
- func (ff *FormFieldTextarea) MarshalJSON() ([]byte, error)
- func (ff *FormFieldTextarea) UnmarshalJSON(data []byte) error
- func (ff *FormFieldTextarea) Value() interface{}
- type Graphviz
- type GraphvizConfig
- type GridAction
- type GridActionType
- type GridActions
- type GridActionsConfig
- type IFrame
- type IFrameConfig
- type IFrameMarshal
- type InputChoice
- type ItemType
- type LabelSelector
- type LabelSelectorConfig
- type Labels
- type LabelsConfig
- type Link
- func (t *Link) GetMetadata() Metadata
- func (t *Link) LessThan(i interface{}) bool
- func (t *Link) MarshalJSON() ([]byte, error)
- func (t *Link) Ref() string
- func (t *Link) SetStatus(status TextStatus, detail Component)
- func (t *Link) String() string
- func (t *Link) SupportsTitle()
- func (t *Link) Text() string
- type LinkConfig
- type LinkOption
- type List
- type ListConfig
- type Loading
- type LoadingConfig
- type Logs
- type LogsConfig
- type Metadata
- type Modal
- type ModalConfig
- type ModalSize
- type Node
- type NodeStatus
- type Nodes
- type Operator
- type PodStatus
- type PodStatusConfig
- type PodSummary
- type Port
- type PortConfig
- type PortForwardState
- type Ports
- type PortsConfig
- type Quadrant
- type QuadrantConfig
- type QuadrantPosition
- type QuadrantValue
- type ResourceViewer
- func (rv *ResourceViewer) AddEdge(nodeID, childID string, edgeType EdgeType) error
- func (rv *ResourceViewer) AddNode(id string, node Node)
- func (rv *ResourceViewer) GetMetadata() Metadata
- func (rv *ResourceViewer) MarshalJSON() ([]byte, error)
- func (rv *ResourceViewer) Select(id string)
- func (rv *ResourceViewer) Validate() error
- type ResourceViewerConfig
- type Selector
- type Selectors
- type SelectorsConfig
- type Since
- type SingleStat
- type SingleStatConfig
- type SingleStatValue
- type StepConfig
- type Stepper
- type StepperConfig
- type Summary
- type SummaryConfig
- type SummarySection
- type SummarySections
- type Tab
- type Table
- func (t *Table) Add(rows ...TableRow)
- func (t *Table) AddButton(name string, payload action.Payload, buttonOptions ...ButtonOption)
- func (t *Table) AddColumn(name string)
- func (t *Table) AddFilter(columnName string, filter TableFilter)
- func (t *Table) Columns() []TableCol
- func (t *Table) IsEmpty() bool
- func (t *Table) MarshalJSON() ([]byte, error)
- func (t *Table) Reverse()
- func (t *Table) Rows() []TableRow
- func (t *Table) SetIsLoading(isLoading bool)
- func (t *Table) SetPlaceholder(placeholder string)
- func (t *Table) Sort(keys ...string)
- type TableCol
- type TableConfig
- type TableFilter
- type TableRow
- type Terminal
- type TerminalConfig
- type TerminalDetails
- type Text
- func (t *Text) DisableMarkdown()
- func (t *Text) DisableTrustedContent()
- func (t *Text) EnableMarkdown()
- func (t *Text) EnableTrustedContent()
- func (t *Text) IsMarkdown() bool
- func (t *Text) LessThan(i interface{}) bool
- func (t *Text) MarshalJSON() ([]byte, error)
- func (t *Text) SetStatus(status TextStatus)
- func (t *Text) String() string
- func (t *Text) SupportsTitle()
- func (t *Text) TrustedContent() bool
- type TextConfig
- type TextStatus
- type Timestamp
- type TimestampConfig
- type TitleComponent
- type TypedObject
- type YAML
- type YAMLConfig
Constants ¶
const ( // TypeAnnotations is an annotations component. TypeAnnotations = "annotations" // ButtonGroup is a button group component. TypeButtonGroup = "buttonGroup" // TypeCard is a card component. TypeCard = "card" // TypeCardList is a card list component. TypeCardList = "cardList" // TypeCode is a code block component. TypeCode = "codeBlock" // TypeContainers is a container component. TypeContainers = "containers" // TypeDonutChart is a donut chart component. TypeDonutChart = "donutChart" // TypeDropdown is a dropdown component. TypeDropdown = "dropdown" // TypeEditor is an editor component. TypeEditor = "editor" // TypeError is an error component. TypeError = "error" // TypeExtension is an extension component. TypeExtension = "extension" // TypeExpressionSelector is an expression selector component. TypeExpressionSelector = "expressionSelector" // TypeFlexLayout is a flex layout component. TypeFlexLayout = "flexlayout" // TypeGraphviz is a graphviz component. TypeGraphviz = "graphviz" // TypeGridActions is a grid actions component. TypeGridActions = "gridActions" // TypeIFrame is an iframe component. TypeIFrame = "iframe" // TypeLabels is a labels component. TypeLabels = "labels" // TypeLabelSelector is a label selector component. TypeLabelSelector = "labelSelector" // TypeLink is a link component. TypeLink = "link" // TypeList is a list component. TypeList = "list" // TypeLoading is a loading component. TypeLoading = "loading" // TypeLogs is a logs component. TypeLogs = "logs" // TypeModal is a modal component. TypeModal = "modal" // TypePodStatus is a pod status component. TypePodStatus = "podStatus" // TypePort is a port component. TypePort = "port" // TypePorts is a ports component. TypePorts = "ports" // TypeQuadrant is a quadrant component. TypeQuadrant = "quadrant" // TypeResourceViewer is a resource viewer component. TypeResourceViewer = "resourceViewer" // TypeSelectors is a selectors component. TypeSelectors = "selectors" // TypeSingleStat is a single stat component. TypeSingleStat = "singleStat" // TypeStepper is a stepper component. TypeStepper = "stepper" // TypeSummary is a summary component. TypeSummary = "summary" // TypeTable is a table component. TypeTable = "table" // TypeTerminal is a terminal component. TypeTerminal = "terminal" // TypeText is a text component. TypeText = "text" // TypeTimestamp is a timestamp component. TypeTimestamp = "timestamp" // TypeYAML is a YAML component. TypeYAML = "yaml" )
const ( // WidthFull is a full width section. WidthFull int = 24 // WidthQuarter is a quarter width section. WidthQuarter int = 6 // WidthHalf is a half width section. WidthHalf int = 12 // WidthThird is a third width section. WidthThird int = 8 )
const ( FieldTypeCheckBox = "checkbox" FieldTypeRadio = "radio" FieldTypeText = "text" FieldTypePassword = "password" FieldTypeNumber = "number" FieldTypeSelect = "select" FieldTypeTextarea = "textarea" FieldTypeHidden = "hidden" )
const ( // EdgeTypeImplicit is an implicit edge EdgeTypeImplicit = "implicit" // EdgeTypeExplicit is an explicit edge EdgeTypeExplicit = "explicit" )
const (
// GridActionKey is the key for grid action in a table row.
GridActionKey = "_action"
)
Variables ¶
var EmptyContentResponse = ContentResponse{}
EmptyContentResponse is an empty content response.
Functions ¶
func AssertContentResponseEquals ¶ added in v0.10.0
func AssertContentResponseEquals(t *testing.T, expected, got ContentResponse)
AssertContentResponseEquals asserts two content responses are equal.
func AssertEqual ¶
AssertEqual asserts two components are equal.
func TitleFromTitleComponent ¶
func TitleFromTitleComponent(tc []TitleComponent) (string, error)
TitleFromTitleComponent gets a title from a TitleComponent
Types ¶
type Action ¶
type Action struct { Name string `json:"name"` Title string `json:"title"` Form Form `json:"form"` Modal bool `json:"modal"` }
Action is an action that can be performed on a component.
type AlertType ¶
type AlertType string
const ( // AlertTypeError is an error alert. AlertTypeError AlertType = "error" // AlertTypeWarning is a warning alert. AlertTypeWarning AlertType = "warning" // AlertTypeInfo is an info alert. AlertTypeInfo AlertType = "info" // AlertTypeSuccess is a success alert. AlertTypeSuccess AlertType = "success" )
type Annotations ¶
type Annotations struct { Base Config AnnotationsConfig `json:"config"` }
Annotations is a component representing key/value based annotations
+octant:component
func NewAnnotations ¶
func NewAnnotations(annotations map[string]string) *Annotations
NewAnnotations creates a annotations component
func (*Annotations) GetMetadata ¶
func (t *Annotations) GetMetadata() Metadata
GetMetadata accesses the components metadata. Implements Component.
func (*Annotations) IsEmpty ¶
func (t *Annotations) IsEmpty() bool
IsEmpty specifies whether the component is considered empty. Implements Component.
func (*Annotations) MarshalJSON ¶
func (t *Annotations) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type AnnotationsConfig ¶
AnnotationsConfig is the contents of Annotations
type Base ¶ added in v0.15.0
type Base struct {
Metadata `json:"metadata"`
}
Base is an abstract base for components..
func (*Base) GetMetadata ¶ added in v0.15.0
GetMetadata returns the component's metadata.
func (*Base) IsEmpty ¶ added in v0.15.0
IsEmpty returns false by default. Let the components that wrap Base determine if they are empty or not if they wish.
func (*Base) SetAccessor ¶ added in v0.15.0
SetAccessor sets the accessor for the object.
func (*Base) SetMetadata ¶ added in v0.15.0
type BaseFormField ¶ added in v0.15.0
type BaseFormField struct {
// contains filtered or unexported fields
}
func (*BaseFormField) Error ¶ added in v0.16.0
func (bff *BaseFormField) Error() string
func (*BaseFormField) Label ¶ added in v0.15.0
func (bff *BaseFormField) Label() string
func (*BaseFormField) Name ¶ added in v0.15.0
func (bff *BaseFormField) Name() string
func (*BaseFormField) Placeholder ¶ added in v0.16.0
func (bff *BaseFormField) Placeholder() string
func (*BaseFormField) Type ¶ added in v0.15.0
func (bff *BaseFormField) Type() string
func (*BaseFormField) Validators ¶ added in v0.16.0
func (bff *BaseFormField) Validators() []string
type Button ¶
type Button struct { Name string `json:"name"` Payload action.Payload `json:"payload"` Confirmation *Confirmation `json:"confirmation,omitempty"` Modal Component `json:"modal,omitempty"` }
Button is a button in a group.
func NewButton ¶
func NewButton(name string, payload action.Payload, options ...ButtonOption) Button
NewButton creates an instance of Button.
func (*Button) UnmarshalJSON ¶ added in v0.16.0
type ButtonGroup ¶
type ButtonGroup struct { Base Config ButtonGroupConfig `json:"config"` }
ButtonGroup is a group of buttons.
+octant:component
func NewButtonGroup ¶
func NewButtonGroup() *ButtonGroup
NewButtonGroup creates an instance of ButtonGroup.
func (*ButtonGroup) AddButton ¶
func (bg *ButtonGroup) AddButton(button Button)
AddButton adds a button to the ButtonGroup.
func (*ButtonGroup) MarshalJSON ¶
func (bg *ButtonGroup) MarshalJSON() ([]byte, error)
MarshalJSON marshals a button group.
type ButtonGroupConfig ¶
type ButtonGroupConfig struct { // Buttons are buttons in the group. Buttons []Button `json:"buttons"` }
ButtonGroupConfig is configuration for a button group.
type ButtonOption ¶
type ButtonOption func(button *Button)
ButtonOption is a function for configuring a Button.
func WithButtonConfirmation ¶
func WithButtonConfirmation(title, body string) ButtonOption
WithButtonConfirmation configured a button with a confirmation.
func WithModal ¶ added in v0.16.0
func WithModal(modal *Modal) ButtonOption
WithModal configures a button to open a modal
type Card ¶
type Card struct { Base Config CardConfig `json:"config"` }
Card is a card component.
+octant:component
func (*Card) MarshalJSON ¶
MarshalJSON marshals a card to JSON.
type CardConfig ¶
type CardConfig struct { // Body is the body of the card. Body Component `json:"body"` // Actions are actions for the card. Actions []Action `json:"actions,omitempty"` // Alert is the alert to show for the card. Alert *Alert `json:"alert,omitempty"` }
CardConfig is configuration for the card component.
func (*CardConfig) UnmarshalJSON ¶
func (c *CardConfig) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a card config from JSON.
type CardList ¶
type CardList struct { Base Config CardListConfig `json:"config"` }
CardList is a component which comprises of a list of cards.
+octant:component
func NewCardList ¶
NewCardList creates a card list component.
func (*CardList) MarshalJSON ¶
MarshalJSON marshals a card list to JSON.
type CardListConfig ¶
type CardListConfig struct { // Cards is a slice of cads. Cards []Card `json:"cards"` }
CardListConfig is configuration for a card list.
func (*CardListConfig) UnmarshalJSON ¶
func (c *CardListConfig) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a card list config from JSON.
type Code ¶ added in v0.11.0
type Code struct { Base Config CodeConfig `json:"config"` }
Value is a component for code
+octant:component
func NewCodeBlock ¶ added in v0.11.0
NewCodeBlock creates a code component
func (*Code) MarshalJSON ¶ added in v0.11.0
MarshalJSON implements json.Marshaler
type CodeConfig ¶ added in v0.11.0
type CodeConfig struct {
Code string `json:"value"`
}
CodeConfig is the contents of Value
type Component ¶
type Component interface { json.Marshaler // GetMetadata returns metadata for the component. GetMetadata() Metadata // GetMetadata sets the metadata for the component. SetMetadata(metadata Metadata) // SetAccessor sets the accessor for the component. SetAccessor(accessor string) // IsEmpty returns true if the component is "empty". IsEmpty() bool // String returns a string representation of the component. String() string // LessThan returns true if the components value is less than the other value. LessThan(other interface{}) bool }
Component is a common interface for the data representation of visual components as rendered by the UI.
type Confirmation ¶
Confirmation is configuration for a confirmation dialog.
type ContainerDef ¶
ContainerDef defines an individual docker container
type Containers ¶
type Containers struct { Base Config ContainersConfig `json:"config"` }
Containers is a component wrapping multiple docker container definitions
+octant:component
func (*Containers) Add ¶
func (t *Containers) Add(name string, image string)
Add adds additional items to the tail of the containers.
func (*Containers) GetMetadata ¶
func (t *Containers) GetMetadata() Metadata
GetMetadata accesses the components metadata. Implements Component.
func (*Containers) MarshalJSON ¶
func (t *Containers) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler
type ContainersConfig ¶
type ContainersConfig struct {
Containers []ContainerDef `json:"containers"`
}
ContainersConfig is the contents of a Containers wrapper
type ContentResponse ¶
type ContentResponse struct { Title []TitleComponent `json:"title,omitempty"` Components []Component `json:"viewComponents"` ExtensionComponent Component `json:"extensionComponent,omitempty"` ButtonGroup *ButtonGroup `json:"buttonGroup,omitempty"` }
ContentResponse is a a content response. It contains a title and one or more components.
func NewContentResponse ¶
func NewContentResponse(title []TitleComponent) *ContentResponse
NewContentResponse creates an instance of ContentResponse.
func (*ContentResponse) Add ¶
func (c *ContentResponse) Add(components ...Component)
Add adds zero or more components to a content response. Nil components will be ignored.
func (*ContentResponse) AddButton ¶ added in v0.11.0
func (c *ContentResponse) AddButton(name string, payload action.Payload, buttonOptions ...ButtonOption)
AddButton adds one or more actions to a content response.
func (*ContentResponse) SetExtension ¶ added in v0.10.0
func (c *ContentResponse) SetExtension(component *Extension)
SetExtension adds zero or more components to an extension content response.
func (*ContentResponse) UnmarshalJSON ¶
func (c *ContentResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a content response from JSON.
type DonutChart ¶ added in v0.10.0
type DonutChart struct { Base Config DonutChartConfig `json:"config"` }
+octant:component
func NewDonutChart ¶ added in v0.10.0
func NewDonutChart() *DonutChart
func (*DonutChart) MarshalJSON ¶ added in v0.10.0
func (dc *DonutChart) MarshalJSON() ([]byte, error)
func (*DonutChart) SetLabels ¶ added in v0.10.0
func (dc *DonutChart) SetLabels(plural string, singular string)
func (*DonutChart) SetSegments ¶ added in v0.10.0
func (dc *DonutChart) SetSegments(segments []DonutSegment)
func (*DonutChart) SetSize ¶ added in v0.10.0
func (dc *DonutChart) SetSize(size DonutChartSize)
type DonutChartConfig ¶ added in v0.10.0
type DonutChartConfig struct { Segments []DonutSegment `json:"segments"` Labels DonutChartLabels `json:"labels"` Size DonutChartSize `json:"size"` }
type DonutChartLabels ¶ added in v0.10.0
type DonutChartSize ¶ added in v0.10.0
type DonutChartSize int
const ( DonutChartSizeSmall DonutChartSize = 50 DonutChartSizeMedium DonutChartSize = 100 )
type DonutSegment ¶ added in v0.10.0
type DonutSegment struct { Count int `json:"count"` Status NodeStatus `json:"status"` }
type Dropdown ¶ added in v0.17.0
type Dropdown struct { Base Config DropdownConfig `json:"config"` }
Dropdown: displays dropdown component with a list of values Used to choose an option or action from a contextual list +octant:component
func NewDropdown ¶ added in v0.17.0
func NewDropdown(title string, dropdownType DropdownType, action string, items ...DropdownItemConfig) *Dropdown
NewDropdown creates a new dropdown component
func (*Dropdown) AddDropdownItem ¶ added in v0.17.0
func (t *Dropdown) AddDropdownItem(name string, itemType ItemType, label string, url string, description string)
AddDropdownItem adds an item to the dropdown
func (*Dropdown) GetMetadata ¶ added in v0.17.0
GetMetadata accesses the components metadata
func (*Dropdown) MarshalJSON ¶ added in v0.17.0
MarshalJSON implements json.Marshaler
func (*Dropdown) SetDropdownPosition ¶ added in v0.17.0
func (t *Dropdown) SetDropdownPosition(position DropdownPosition)
SetDropdownPosition sets the position of context menu relative to dropdown source.
func (*Dropdown) SetDropdownUseSelection ¶ added in v0.17.0
SetDropdownUseSelection defines if dropdown title is updated on selection change
func (*Dropdown) SetSelection ¶ added in v0.17.0
SetSelection specifies the dropdown selected item.
func (*Dropdown) SupportsTitle ¶ added in v0.17.0
func (t *Dropdown) SupportsTitle()
SupportsTitle designates this is a TextComponent.
type DropdownConfig ¶ added in v0.17.0
type DropdownConfig struct { DropdownPosition DropdownPosition `json:"position,omitempty"` DropdownType DropdownType `json:"type"` Action string `json:"action,omitempty"` Selection string `json:"selection,omitempty"` UseSelection bool `json:"useSelection"` Items []DropdownItemConfig `json:"items"` }
DropdownConfig defines the contents of a Dropdown
func (*DropdownConfig) UnmarshalJSON ¶ added in v0.17.0
func (t *DropdownConfig) UnmarshalJSON(data []byte) error
type DropdownItemConfig ¶ added in v0.17.0
type DropdownItemConfig struct { Name string `json:"name"` Type ItemType `json:"type"` Label string `json:"label"` Url string `json:"url,omitempty"` Description string `json:"description,omitempty"` }
func NewDropdownItem ¶ added in v0.17.0
func NewDropdownItem(name string, itemType ItemType, label string, url string, description string) DropdownItemConfig
NewDropdownItem creates a new dropdown item
type DropdownPosition ¶ added in v0.17.0
type DropdownPosition string
DropdownPosition denotes a position relative to source button
const ( BottomLeft DropdownPosition = "bottom-left" BottomRight DropdownPosition = "bottom-right" TopLeft DropdownPosition = "top-left" TopRight DropdownPosition = "top-right" LeftBottom DropdownPosition = "left-bottom" LeftTop DropdownPosition = "left-top" RightTop DropdownPosition = "right-top" RightBottom DropdownPosition = "right-bottom" )
type DropdownType ¶ added in v0.17.0
type DropdownType string
DropdownType defines what the dropdown source is (UI component that's visible when dropdown is closed)
const ( DropdownButton DropdownType = "button" DropdownLink DropdownType = "link" DropdownLabel DropdownType = "label" DropdownIcon DropdownType = "icon" )
type EdgeType ¶
type EdgeType string
EdgeType represents whether a relationship between resources is implicit or explicit
type Editor ¶ added in v0.11.0
type Editor struct { Base Config EditorConfig `json:"config"` }
Editor is an editor component.
+octant:component
func NewEditor ¶ added in v0.11.0
func NewEditor(title []TitleComponent, value string, readOnly bool) *Editor
NewEditor creates an instance of an editor component.
func (*Editor) GetMetadata ¶ added in v0.11.0
GetMetadata returns the component's metadata.
func (*Editor) MarshalJSON ¶ added in v0.11.0
MarshalJSON implements json.Marshaler
type EditorConfig ¶ added in v0.11.0
type EditorConfig struct { Value string `json:"value"` Language string `json:"language"` ReadOnly bool `json:"readOnly"` Metadata map[string]string `json:"metadata"` SubmitAction string `json:"submitAction,omitempty"` SubmitLabel string `json:"submitLabel,omitempty"` }
EditorConfig is configuration for Editor.
type Error ¶
type Error struct { Base Config ErrorConfig `json:"config"` }
Error is a component for freetext
+octant:component
func NewError ¶
func NewError(title []TitleComponent, err error) *Error
NewError creates a text component
func (*Error) LessThan ¶
LessThan returns true if this component's value is less than the argument supplied.
func (*Error) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Error) SupportsTitle ¶
func (t *Error) SupportsTitle()
SupportsTitle denotes this is a TextComponent.
type ErrorConfig ¶
type ErrorConfig struct {
Data string `json:"data,omitempty"`
}
ErrorConfig is the contents of Text
type ExpressionSelector ¶
type ExpressionSelector struct { Base Config ExpressionSelectorConfig `json:"config"` }
ExpressionSelector is a component for a single expression within a selector
+octant:component
func NewExpressionSelector ¶
func NewExpressionSelector(k string, o Operator, values []string) *ExpressionSelector
NewExpressionSelector creates a expressionSelector component
func (*ExpressionSelector) GetMetadata ¶
func (t *ExpressionSelector) GetMetadata() Metadata
GetMetadata accesses the components metadata. Implements Component.
func (*ExpressionSelector) IsSelector ¶
func (t *ExpressionSelector) IsSelector()
IsSelector marks the component as selector flavor. Implements Selector.
func (*ExpressionSelector) MarshalJSON ¶
func (t *ExpressionSelector) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler
func (*ExpressionSelector) Name ¶
func (t *ExpressionSelector) Name() string
Name is the name of the ExpressionSelector.
type ExpressionSelectorConfig ¶
type ExpressionSelectorConfig struct { Key string `json:"key"` Operator Operator `json:"operator"` Values []string `json:"values"` }
ExpressionSelectorConfig is the contents of ExpressionSelector
type Extension ¶ added in v0.10.0
type Extension struct { Base Config ExtensionConfig `json:"config"` }
+octant:component
func NewExtension ¶ added in v0.10.0
func NewExtension() *Extension
func (*Extension) AddTab ¶ added in v0.10.0
func (e *Extension) AddTab(tab ExtensionTab)
func (*Extension) GetMetadata ¶ added in v0.10.0
func (*Extension) MarshalJSON ¶ added in v0.10.0
type ExtensionConfig ¶ added in v0.10.0
type ExtensionConfig struct {
Tabs []ExtensionTab `json:"tabs"`
}
type ExtensionTab ¶ added in v0.10.0
type ExtensionTab struct { Tab Component `json:"tab"` ClosePayload action.Payload `json:"payload,omitempty"` }
func (*ExtensionTab) UnmarshalJSON ¶ added in v0.10.0
func (e *ExtensionTab) UnmarshalJSON(data []byte) error
type FlexLayout ¶
type FlexLayout struct { Base Config FlexLayoutConfig `json:"config,omitempty"` }
FlexLayout is a flex layout view.
+octant:component
func NewFlexLayout ¶
func NewFlexLayout(title string) *FlexLayout
NewFlexLayout creates an instance of FlexLayout.
func (*FlexLayout) AddSections ¶
func (fl *FlexLayout) AddSections(sections ...FlexLayoutSection)
AddSections adds one or more sections to the flex layout.
func (*FlexLayout) MarshalJSON ¶
func (fl *FlexLayout) MarshalJSON() ([]byte, error)
MarshalJSON marshals the flex layout to JSON.
func (*FlexLayout) SetButtonGroup ¶
func (fl *FlexLayout) SetButtonGroup(group *ButtonGroup)
type FlexLayoutConfig ¶
type FlexLayoutConfig struct { Sections []FlexLayoutSection `json:"sections,omitempty"` ButtonGroup *ButtonGroup `json:"buttonGroup,omitempty"` }
FlexLayoutConfig is configuration for the flex layout view.
func (*FlexLayoutConfig) UnmarshalJSON ¶ added in v0.11.0
func (f *FlexLayoutConfig) UnmarshalJSON(data []byte) error
type FlexLayoutItem ¶
type FlexLayoutItem struct { Width int `json:"width,omitempty"` View Component `json:"view,omitempty"` }
FlexLayoutItem is an item in a flex layout.
func (*FlexLayoutItem) UnmarshalJSON ¶
func (fli *FlexLayoutItem) UnmarshalJSON(data []byte) error
type FlexLayoutSection ¶
type FlexLayoutSection []FlexLayoutItem
FlexLayoutSection is a slice of items group together.
type Form ¶
func CreateFormForObject ¶
func CreateFormForObject(actionName string, object runtime.Object, fields ...FormField) (Form, error)
CreateFormForObject creates a form for an object with additional fields.
func (*Form) MarshalJSON ¶
func (*Form) UnmarshalJSON ¶
type FormField ¶
type FormField interface { Label() string Name() string Type() string Configuration() map[string]interface{} Value() interface{} Placeholder() string Error() string Validators() []string json.Unmarshaler json.Marshaler }
FormField is a form field interface. TODO: make this more json friendly by converting it to a struct.
type FormFieldCheckBox ¶
type FormFieldCheckBox struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldCheckBox ¶
func NewFormFieldCheckBox(label, name string, choices []InputChoice) *FormFieldCheckBox
func (*FormFieldCheckBox) AddValidator ¶ added in v0.16.0
func (ff *FormFieldCheckBox) AddValidator(errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldCheckBox) Configuration ¶
func (ff *FormFieldCheckBox) Configuration() map[string]interface{}
func (*FormFieldCheckBox) MarshalJSON ¶
func (ff *FormFieldCheckBox) MarshalJSON() ([]byte, error)
func (*FormFieldCheckBox) UnmarshalJSON ¶
func (ff *FormFieldCheckBox) UnmarshalJSON(data []byte) error
func (*FormFieldCheckBox) Value ¶
func (ff *FormFieldCheckBox) Value() interface{}
type FormFieldHidden ¶
type FormFieldHidden struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldHidden ¶
func NewFormFieldHidden(name, value string) *FormFieldHidden
func (*FormFieldHidden) AddValidator ¶ added in v0.16.0
func (ff *FormFieldHidden) AddValidator(placeholder string, errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldHidden) Configuration ¶
func (ff *FormFieldHidden) Configuration() map[string]interface{}
func (*FormFieldHidden) MarshalJSON ¶
func (ff *FormFieldHidden) MarshalJSON() ([]byte, error)
func (*FormFieldHidden) UnmarshalJSON ¶
func (ff *FormFieldHidden) UnmarshalJSON(data []byte) error
func (*FormFieldHidden) Value ¶
func (ff *FormFieldHidden) Value() interface{}
type FormFieldNumber ¶
type FormFieldNumber struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldNumber ¶
func NewFormFieldNumber(label, name, value string) *FormFieldNumber
func (*FormFieldNumber) AddValidator ¶ added in v0.16.0
func (ff *FormFieldNumber) AddValidator(errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldNumber) Configuration ¶
func (ff *FormFieldNumber) Configuration() map[string]interface{}
func (*FormFieldNumber) MarshalJSON ¶
func (ff *FormFieldNumber) MarshalJSON() ([]byte, error)
func (*FormFieldNumber) UnmarshalJSON ¶
func (ff *FormFieldNumber) UnmarshalJSON(data []byte) error
func (*FormFieldNumber) Value ¶
func (ff *FormFieldNumber) Value() interface{}
type FormFieldPassword ¶
type FormFieldPassword struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldPassword ¶
func NewFormFieldPassword(label, name, value string) *FormFieldPassword
func (*FormFieldPassword) AddValidator ¶ added in v0.16.0
func (ff *FormFieldPassword) AddValidator(placeholder string, errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldPassword) Configuration ¶
func (ff *FormFieldPassword) Configuration() map[string]interface{}
func (*FormFieldPassword) MarshalJSON ¶
func (ff *FormFieldPassword) MarshalJSON() ([]byte, error)
func (*FormFieldPassword) UnmarshalJSON ¶
func (ff *FormFieldPassword) UnmarshalJSON(data []byte) error
func (*FormFieldPassword) Value ¶
func (ff *FormFieldPassword) Value() interface{}
type FormFieldRadio ¶
type FormFieldRadio struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldRadio ¶
func NewFormFieldRadio(label, name string, choices []InputChoice) *FormFieldRadio
func (*FormFieldRadio) AddValidator ¶ added in v0.16.0
func (ff *FormFieldRadio) AddValidator(errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldRadio) Configuration ¶
func (ff *FormFieldRadio) Configuration() map[string]interface{}
func (*FormFieldRadio) MarshalJSON ¶
func (ff *FormFieldRadio) MarshalJSON() ([]byte, error)
func (*FormFieldRadio) UnmarshalJSON ¶
func (ff *FormFieldRadio) UnmarshalJSON(data []byte) error
func (*FormFieldRadio) Value ¶
func (ff *FormFieldRadio) Value() interface{}
type FormFieldSelect ¶
type FormFieldSelect struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldSelect ¶
func NewFormFieldSelect(label, name string, choices []InputChoice, multiple bool) *FormFieldSelect
func (*FormFieldSelect) AddValidator ¶ added in v0.16.0
func (ff *FormFieldSelect) AddValidator(errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldSelect) Configuration ¶
func (ff *FormFieldSelect) Configuration() map[string]interface{}
func (*FormFieldSelect) MarshalJSON ¶
func (ff *FormFieldSelect) MarshalJSON() ([]byte, error)
func (*FormFieldSelect) UnmarshalJSON ¶
func (ff *FormFieldSelect) UnmarshalJSON(data []byte) error
func (*FormFieldSelect) Value ¶
func (ff *FormFieldSelect) Value() interface{}
type FormFieldText ¶
type FormFieldText struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldText ¶
func NewFormFieldText(label, name, value string) *FormFieldText
func (*FormFieldText) AddValidator ¶ added in v0.16.0
func (ff *FormFieldText) AddValidator(placeholder string, errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldText) Configuration ¶
func (ff *FormFieldText) Configuration() map[string]interface{}
func (*FormFieldText) MarshalJSON ¶
func (ff *FormFieldText) MarshalJSON() ([]byte, error)
func (*FormFieldText) UnmarshalJSON ¶
func (ff *FormFieldText) UnmarshalJSON(data []byte) error
func (*FormFieldText) Value ¶
func (ff *FormFieldText) Value() interface{}
type FormFieldTextarea ¶
type FormFieldTextarea struct { *BaseFormField // contains filtered or unexported fields }
func NewFormFieldTextarea ¶
func NewFormFieldTextarea(label, name, value string) *FormFieldTextarea
func (*FormFieldTextarea) AddValidator ¶ added in v0.16.0
func (ff *FormFieldTextarea) AddValidator(placeholder string, errorMessage string, validators []string)
AddValidator adds validator(s)
func (*FormFieldTextarea) Configuration ¶
func (ff *FormFieldTextarea) Configuration() map[string]interface{}
func (*FormFieldTextarea) MarshalJSON ¶
func (ff *FormFieldTextarea) MarshalJSON() ([]byte, error)
func (*FormFieldTextarea) UnmarshalJSON ¶
func (ff *FormFieldTextarea) UnmarshalJSON(data []byte) error
func (*FormFieldTextarea) Value ¶
func (ff *FormFieldTextarea) Value() interface{}
type Graphviz ¶
type Graphviz struct { Base Config GraphvizConfig `json:"config"` }
Graphviz is a component for displaying graphviz diagrams.
+octant:component
func (*Graphviz) MarshalJSON ¶
MarshalJSON implements json.Marshaler
type GraphvizConfig ¶
type GraphvizConfig struct {
DOT string `json:"dot,omitempty"`
}
GraphvizConfig is the contents of Graphviz.
type GridAction ¶ added in v0.12.0
type GridAction struct { // Name is the name of action. It will be shown to the user. Name string `json:"name"` // ActionPath is the path of the action. ActionPath string `json:"actionPath"` // Payload is the payload that will be submitted with the action is invoked. Payload action.Payload `json:"payload"` // Confirmation is a confirmation that will be show to the user before the // action is invoked. It is optional. Confirmation *Confirmation `json:"confirmation,omitempty"` // Type is the type of button that will be created. Type GridActionType `json:"type"` }
GridAction is an action that can be performed on a data grid row.
type GridActionType ¶ added in v0.13.0
type GridActionType string
GridActionType is the type of this action. It is used to style buttons.
const ( // GridActionPrimary is the default color. GridActionPrimary GridActionType = "primary" // GridActionDanger is for a dangerous action. A dangerous action is one that will change the state // of the cluster. GridActionDanger GridActionType = "danger" )
type GridActions ¶ added in v0.12.0
type GridActions struct { Base Config GridActionsConfig `json:"config"` }
GridActions add the ability to have specific actions for rows. This will allow for dynamic injection of actions that could be dependent on the content of a grid row.
+octant:component
func NewGridActions ¶ added in v0.12.0
func NewGridActions() *GridActions
NewGridActions creates an instance of GridActions.
func (*GridActions) AddAction ¶ added in v0.12.0
func (a *GridActions) AddAction( name, actionPath string, payload action.Payload, confirmation *Confirmation, actionType GridActionType)
AddAction adds an action to GridActions.
func (*GridActions) AddGridAction ¶ added in v0.13.0
func (a *GridActions) AddGridAction(gridAction GridAction)
AddGridAction adds a GridAction to GridActions.
func (GridActions) MarshalJSON ¶ added in v0.12.0
func (a GridActions) MarshalJSON() ([]byte, error)
MarshalJSON converts the GridActions to a JSON.
type GridActionsConfig ¶ added in v0.12.0
type GridActionsConfig struct { // Actions is a slice that contains actions that can be performed by the user. Actions []GridAction `json:"actions"` }
GridActionsConfig is configuration items for GridActions.
type IFrame ¶ added in v0.10.0
type IFrame struct { Base Config IFrameConfig `json:"config"` }
IFrame is a component for displaying content in an iframe
+octant:component
func (*IFrame) LessThan ¶ added in v0.10.0
LessThan returns true if this component's url is lexically less than the argument supplied.
func (*IFrame) MarshalJSON ¶ added in v0.10.0
MarshalJSON implements json.Marshaler
type IFrameConfig ¶ added in v0.10.0
IFrameConfig is the title and url of the iframe
type IFrameMarshal ¶ added in v0.10.0
type IFrameMarshal IFrame
type InputChoice ¶
type LabelSelector ¶
type LabelSelector struct { Base Config LabelSelectorConfig `json:"config"` }
LabelSelector is a component for a single label within a selector
+octant:component
func NewLabelSelector ¶
func NewLabelSelector(k, v string) *LabelSelector
NewLabelSelector creates a labelSelector component
func (*LabelSelector) GetMetadata ¶
func (t *LabelSelector) GetMetadata() Metadata
GetMetadata accesses the components metadata. Implements Component.
func (*LabelSelector) IsSelector ¶
func (t *LabelSelector) IsSelector()
IsSelector marks the component as selector flavor. Implements Selector.
func (*LabelSelector) MarshalJSON ¶
func (t *LabelSelector) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler
func (*LabelSelector) Name ¶
func (t *LabelSelector) Name() string
Name is the name of the LabelSelector.
type LabelSelectorConfig ¶
LabelSelectorConfig is the contents of LabelSelector
type Labels ¶
type Labels struct { Base Config LabelsConfig `json:"config"` }
Labels is a component representing key/value based labels
+octant:component
func (*Labels) GetMetadata ¶
GetMetadata accesses the components metadata. Implements Component.
func (*Labels) MarshalJSON ¶
MarshalJSON implements json.Marshaler. It will filter label keys specified in `labelsFilteredKeys`.
type LabelsConfig ¶
LabelsConfig is the contents of Labels
type Link ¶
type Link struct { Config LinkConfig `json:"config"` Base }
Link is a text component that contains a link.
+octant:component
func NewLink ¶
func NewLink(title, s, ref string, options ...LinkOption) *Link
NewLink creates a link component
func (*Link) GetMetadata ¶
GetMetadata accesses the components metadata. Implements Component.
func (*Link) LessThan ¶
LessThan returns true if this component's value is less than the argument supplied.
func (*Link) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Link) SetStatus ¶ added in v0.13.0
func (t *Link) SetStatus(status TextStatus, detail Component)
SetStatus sets the status of the text component.
func (*Link) SupportsTitle ¶
func (t *Link) SupportsTitle()
SupportsTitle designates this is a TextComponent.
type LinkConfig ¶
type LinkConfig struct { Text string `json:"value"` Ref string `json:"ref"` // Status sets the status of the component. Status TextStatus `json:"status,omitempty" tsType:"number"` StatusDetail Component `json:"statusDetail,omitempty"` }
LinkConfig is the contents of Link
func (*LinkConfig) UnmarshalJSON ¶ added in v0.16.0
func (lc *LinkConfig) UnmarshalJSON(data []byte) error
type LinkOption ¶ added in v0.13.0
type LinkOption func(l *Link)
type List ¶
type List struct { Base Config ListConfig `json:"config"` }
List contains other Components
+octant:component
func NewList ¶
func NewList(title []TitleComponent, items []Component) *List
NewList creates a list component
func (*List) MarshalJSON ¶
MarshalJSON implements json.Marshaler
type ListConfig ¶
type ListConfig struct {
Items []Component `json:"items"`
}
ListConfig is the contents of a List
func (*ListConfig) UnmarshalJSON ¶
func (t *ListConfig) UnmarshalJSON(data []byte) error
type Loading ¶
type Loading struct { Base Config LoadingConfig `json:"config"` }
Loading is a component for a spinner
+octant:component
func NewLoading ¶
func NewLoading(title []TitleComponent, message string) *Loading
NewLoading creates a loading component
func (*Loading) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Loading) SupportsTitle ¶
func (t *Loading) SupportsTitle()
SupportsTitle denotes this is a LoadingComponent.
type LoadingConfig ¶
type LoadingConfig struct {
Text string `json:"value"`
}
LoadingConfig is the contents of Loading
type Logs ¶
type Logs struct { Base Config LogsConfig `json:"config,omitempty"` }
Logs is a logs component.
+octant:component
func (*Logs) GetMetadata ¶
GetMetadata accesses the components metadata. Implements Component.
func (*Logs) MarshalJSON ¶
type LogsConfig ¶
type Metadata ¶
type Metadata struct { Type string `json:"type"` Title []TitleComponent `json:"title,omitempty"` Accessor string `json:"accessor,omitempty"` }
Metadata collects common fields describing Components
func (*Metadata) SetTitle ¶ added in v0.17.0
func (m *Metadata) SetTitle(titleComponents []TitleComponent)
SetTitle sets the title using the provided components
func (*Metadata) SetTitleText ¶
SetTitleText sets the title using text components.
func (*Metadata) UnmarshalJSON ¶
type Modal ¶ added in v0.16.0
type Modal struct { Base Config ModalConfig `json:"config"` }
Modal is a modal component.
+octant:component
func NewModal ¶ added in v0.16.0
func NewModal(title []TitleComponent) *Modal
NewModal creates a new modal.
func (*Modal) AddForm ¶ added in v0.16.0
AddForm adds a form to a modal. It is added after the body.
func (*Modal) MarshalJSON ¶ added in v0.16.0
MarshalJSON marshal a modal to JSON.
func (*Modal) Open ¶ added in v0.16.0
func (m *Modal) Open()
Open opens a modal. A modal is closed by default.
type ModalConfig ¶ added in v0.16.0
type ModalConfig struct { Body Component `json:"body,omitempty"` Form *Form `json:"form,omitempty"` Opened bool `json:"opened"` ModalSize ModalSize `json:"size,omitempty"` Buttons []Button `json:"buttons,omitempty"` }
ModalConfig is a configuration for the modal component.
func (*ModalConfig) UnmarshalJSON ¶ added in v0.16.0
func (m *ModalConfig) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a modal config from JSON.
type Node ¶
type Node struct { Name string `json:"name,omitempty"` APIVersion string `json:"apiVersion,omitempty"` Kind string `json:"kind,omitempty"` Status NodeStatus `json:"status,omitempty"` Details []Component `json:"details,omitempty"` Path *Link `json:"path,omitempty"` }
Node is a node in a graph, representing a kubernetes object IsNetwork is a hint to the layout engine.
func (*Node) UnmarshalJSON ¶ added in v0.16.0
type NodeStatus ¶
type NodeStatus string
const ( // NodeStatusOK means a node is in a health state NodeStatusOK NodeStatus = "ok" // NodeStatusWarning means ... NodeStatusWarning NodeStatus = "warning" // NodeStatusError means ... NodeStatusError NodeStatus = "error" )
type Operator ¶
type Operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
const ( // OperatorIn means a key value is in a set of possible values OperatorIn Operator = "In" // OperatorNotIn means a key value is not in a set of exclusionary values OperatorNotIn Operator = "NotIn" // OperatorExists means a key exists on the selected resource OperatorExists Operator = "Exists" // OperatorDoesNotExist means a key does not exists on the selected resource OperatorDoesNotExist Operator = "DoesNotExist" )
func MatchOperator ¶
MatchOperator matches an operator.
type PodStatus ¶
type PodStatus struct { Base Config PodStatusConfig `json:"config"` }
PodStatus represents the status for a group of pods.
+octant:component
func (*PodStatus) AddSummary ¶
func (ps *PodStatus) AddSummary(name string, details []Component, status NodeStatus)
AddSummary adds summary for a pod.
func (*PodStatus) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*PodStatus) Status ¶
func (ps *PodStatus) Status() NodeStatus
type PodStatusConfig ¶
type PodStatusConfig struct {
Pods map[string]PodSummary `json:"pods,omitempty"`
}
PodStatusConfig is config for PodStatus.
type PodSummary ¶
type PodSummary struct { Details []Component `json:"details,omitempty"` Status NodeStatus `json:"status,omitempty"` }
PodSummary is a status summary for a pod.
func (*PodSummary) UnmarshalJSON ¶
func (podSummary *PodSummary) UnmarshalJSON(data []byte) error
type Port ¶
type Port struct { Base Config PortConfig `json:"config"` }
Port is a component for a port
+octant:component
func NewPort ¶
func NewPort(namespace, apiVersion, kind, name string, port int, protocol string, pfs PortForwardState) *Port
NewPort creates a port component
func NewServicePort ¶ added in v0.14.0
func NewServicePort(namespace, apiVersion, kind, name string, port int, protocol string, targetPort int, targetPortName string, pfs PortForwardState) *Port
NewPort creates a port component
func (*Port) GetMetadata ¶
GetMetadata accesses the components metadata. Implements Component.
func (*Port) MarshalJSON ¶
MarshalJSON implements json.Marshaler
type PortConfig ¶
type PortConfig struct { Port int `json:"port,omitempty"` Protocol string `json:"protocol,omitempty"` TargetPort int `json:"targetPort,omitempty"` TargetPortName string `json:"targetPortName,omitempty"` State PortForwardState `json:"state,omitempty"` Button *ButtonGroup `json:"buttonGroup,omitempty"` }
PortConfig is the contents of Port
type PortForwardState ¶
type Ports ¶
type Ports struct { Base Config PortsConfig `json:"config,omitempty"` }
Ports is a group of ports.
+octant:component
func (*Ports) GetMetadata ¶
func (*Ports) MarshalJSON ¶
type PortsConfig ¶
type PortsConfig struct {
Ports []Port `json:"ports,omitempty"`
}
type Quadrant ¶
type Quadrant struct { Base Config QuadrantConfig `json:"config"` }
Quadrant displays information in a quadrant.
+octant:component
func NewQuadrant ¶
NewQuadrant creates a quadrant component
func (*Quadrant) GetMetadata ¶
GetMetadata accesses the components metadata. Implements Component.
func (*Quadrant) MarshalJSON ¶
MarshalJSON implements json.Marshaler
type QuadrantConfig ¶
type QuadrantConfig struct { NW QuadrantValue `json:"nw,omitempty"` NE QuadrantValue `json:"ne,omitempty"` SE QuadrantValue `json:"se,omitempty"` SW QuadrantValue `json:"sw,omitempty"` }
QuadrantConfig is the contents of a Quadrant
type QuadrantPosition ¶
type QuadrantPosition int
QuadrantPosition denotes a position within a quadrant
const ( // QuadNW denotes the north-west position within a quadrant QuadNW QuadrantPosition = iota // QuadNE denotes the north-east position within a quadrant QuadNE // QuadSE denotes the south-east position within a quadrant QuadSE // QuadSW denotes the south-west position within a quadrant QuadSW )
type QuadrantValue ¶
type ResourceViewer ¶
type ResourceViewer struct { Base Config ResourceViewerConfig `json:"config,omitempty"` }
ResourceView is a resource viewer component.
+octant:component
func NewResourceViewer ¶
func NewResourceViewer(title string) *ResourceViewer
NewResourceViewer creates a resource viewer component.
func (*ResourceViewer) AddEdge ¶
func (rv *ResourceViewer) AddEdge(nodeID, childID string, edgeType EdgeType) error
func (*ResourceViewer) AddNode ¶
func (rv *ResourceViewer) AddNode(id string, node Node)
func (*ResourceViewer) GetMetadata ¶
func (rv *ResourceViewer) GetMetadata() Metadata
func (*ResourceViewer) MarshalJSON ¶
func (rv *ResourceViewer) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler
func (*ResourceViewer) Select ¶
func (rv *ResourceViewer) Select(id string)
func (*ResourceViewer) Validate ¶
func (rv *ResourceViewer) Validate() error
type ResourceViewerConfig ¶
type ResourceViewerConfig struct { Edges AdjList `json:"edges,omitempty"` Nodes Nodes `json:"nodes,omitempty"` Selected string `json:"selected,omitempty"` }
ResourceViewerConfig is configuration for a resource viewer.
type Selector ¶
type Selector interface { IsSelector() Name() string }
Selector identifies a Component as being a selector flavor.
type Selectors ¶
type Selectors struct { Base Config SelectorsConfig `json:"config"` }
Selectors contains other Components
+octant:component
func NewSelectors ¶
NewSelectors creates a selectors component
func (*Selectors) GetMetadata ¶
GetMetadata accesses the components metadata. Implements Component.
func (*Selectors) MarshalJSON ¶
MarshalJSON implements json.Marshaler
type SelectorsConfig ¶
type SelectorsConfig struct {
Selectors []Selector `json:"selectors"`
}
SelectorsConfig is the contents of a Selectors
func (*SelectorsConfig) UnmarshalJSON ¶
func (t *SelectorsConfig) UnmarshalJSON(data []byte) error
type SingleStat ¶ added in v0.10.0
type SingleStat struct { Base Config SingleStatConfig `json:"config"` }
Single stat shows a single statistic.
+octant:component
func NewSingleStat ¶ added in v0.10.0
func NewSingleStat(title, valueText, color string) *SingleStat
func (*SingleStat) MarshalJSON ¶ added in v0.10.0
func (ss *SingleStat) MarshalJSON() ([]byte, error)
type SingleStatConfig ¶ added in v0.15.0
type SingleStatConfig struct { Title string `json:"title"` Value SingleStatValue `json:"value"` }
type SingleStatValue ¶ added in v0.10.0
type StepConfig ¶ added in v0.15.0
type Stepper ¶ added in v0.15.0
type Stepper struct { Base Config StepperConfig `json:"config"` }
Stepper component implements json.Marshaler
+octant:component
func NewStepper ¶ added in v0.16.0
func NewStepper(title string, actionName string, steps ...StepConfig) *Stepper
NewStepper creates a stepper component
func (*Stepper) MarshalJSON ¶ added in v0.15.0
type StepperConfig ¶ added in v0.15.0
type StepperConfig struct { Action string `json:"action"` Steps []StepConfig `json:"steps"` }
func (*StepperConfig) UnmarshalJSON ¶ added in v0.15.0
func (t *StepperConfig) UnmarshalJSON(data []byte) error
type Summary ¶
type Summary struct { Base Config SummaryConfig `json:"config"` }
Summary contains other Components
+octant:component
func NewSummary ¶
func NewSummary(title string, sections ...SummarySection) *Summary
NewSummary creates a summary component
func (*Summary) Add ¶
func (t *Summary) Add(sections ...SummarySection)
Add adds additional items to the tail of the summary. If section with header name exists, replace it instead of adding an additional item. Adding sections is concurrency safe.
func (*Summary) AddSection ¶ added in v0.10.0
AddSection adds a section to the tail of a summary.
func (*Summary) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Summary) Sections ¶
func (t *Summary) Sections() []SummarySection
Sections returns sections for the summary.
type SummaryConfig ¶
type SummaryConfig struct { Sections SummarySections `json:"sections"` Actions []Action `json:"actions,omitempty"` Alert *Alert `json:"alert,omitempty"` }
SummaryConfig is the contents of a Summary
type SummarySection ¶
SummarySection is a section within a summary
func (*SummarySection) UnmarshalJSON ¶
func (t *SummarySection) UnmarshalJSON(data []byte) error
type SummarySections ¶
type SummarySections []SummarySection
SummarySections is a slice of summary sections
func (*SummarySections) Add ¶
func (s *SummarySections) Add(header string, view Component)
func (*SummarySections) AddText ¶
func (s *SummarySections) AddText(header string, text string)
AddText adds a section with a single text component
type Tab ¶
type Tab struct { Name string `json:"name"` Contents FlexLayout `json:"contents"` }
Tab represents a tab. A tab is a flex layout with a name.
func NewTabWithContents ¶
func NewTabWithContents(flexLayout FlexLayout) *Tab
NewTabWithContents creates a tab with contents.
type Table ¶
type Table struct { Base Config TableConfig `json:"config"` // contains filtered or unexported fields }
Table contains other Components
+octant:component
func NewTableWithRows ¶
NewTableWithRows creates a table with rows.
func (*Table) Add ¶
Add adds additional items to the tail of the table. Use this function to add rows in a concurrency safe fashion.
func (*Table) AddButton ¶ added in v0.16.0
func (t *Table) AddButton(name string, payload action.Payload, buttonOptions ...ButtonOption)
AddButton adds a button the button group for a table.
func (*Table) AddFilter ¶
func (t *Table) AddFilter(columnName string, filter TableFilter)
AddFilter adds a filter to the table. Each column can only have a single filter.
func (*Table) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Table) SetIsLoading ¶
func (*Table) SetPlaceholder ¶
SetPlaceholder adds placeholder text to an empty table.
type TableCol ¶
TableCol describes a column from a table. Accessor is the key this column will appear as in table rows, and must be unique within a table.
func NewTableCols ¶
NewTableCols returns a slice of table columns, each with name/accessor set according to the provided keys arguments.
type TableConfig ¶
type TableConfig struct { Columns []TableCol `json:"columns"` Rows []TableRow `json:"rows"` EmptyContent string `json:"emptyContent"` Loading bool `json:"loading"` Filters map[string]TableFilter `json:"filters"` ButtonGroup *ButtonGroup `json:"buttonGroup,omitempty"` }
TableConfig is the contents of a Table
func (*TableConfig) UnmarshalJSON ¶ added in v0.16.0
func (t *TableConfig) UnmarshalJSON(data []byte) error
type TableFilter ¶
TableFilter describer a text filter for a table.
type TableRow ¶
TableRow is a row in table. Each key->value represents a particular column in the row.
func (TableRow) AddAction ¶ added in v0.13.0
func (t TableRow) AddAction(gridAction GridAction)
func (*TableRow) UnmarshalJSON ¶
type Terminal ¶ added in v0.10.0
type Terminal struct { Base Config TerminalConfig `json:"config"` }
Terminal is a terminal component.
+octant:component
func NewTerminal ¶ added in v0.10.0
func NewTerminal(namespace, name string, podName string, containers []string, details TerminalDetails) *Terminal
NewTerminal creates a Terminal component.
func (*Terminal) GetMetadata ¶ added in v0.10.0
GetMetadata accesses the components metadata. Implements Component.
func (*Terminal) MarshalJSON ¶ added in v0.10.0
type TerminalConfig ¶ added in v0.10.0
type TerminalConfig struct { Namespace string `json:"namespace"` Name string `json:"name"` PodName string `json:"podName"` Containers []string `json:"containers"` Details TerminalDetails `json:"terminal"` }
TerminalConfig holds a terminal config.
type TerminalDetails ¶ added in v0.10.0
type Text ¶
type Text struct { Base Config TextConfig `json:"config"` }
Text is a component for text +octant:component
func NewMarkdownText ¶
NewMarkdownText creates a text component styled with markdown.
func (*Text) DisableMarkdown ¶
func (t *Text) DisableMarkdown()
DisableMarkdown disables markdown for this text component.
func (*Text) DisableTrustedContent ¶ added in v0.16.1
func (t *Text) DisableTrustedContent()
DisableTrustedContent enables trusted content for markdown of this text component.
func (*Text) EnableMarkdown ¶
func (t *Text) EnableMarkdown()
EnableMarkdown enables markdown for this text component.
func (*Text) EnableTrustedContent ¶ added in v0.16.1
func (t *Text) EnableTrustedContent()
EnableTrustedContent enables trusted content for markdown of this text component.
func (*Text) IsMarkdown ¶
IsMarkdown returns if this component is markdown.
func (*Text) LessThan ¶
LessThan returns true if this component's value is less than the argument supplied.
func (*Text) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Text) SetStatus ¶ added in v0.11.0
func (t *Text) SetStatus(status TextStatus)
SetStatus sets the status of the text component.
func (*Text) SupportsTitle ¶
func (t *Text) SupportsTitle()
SupportsTitle denotes this is a TextComponent.
func (*Text) TrustedContent ¶ added in v0.16.1
TrustedContent returns if this component markdown has trusted content.
type TextConfig ¶
type TextConfig struct { // Text is the text that will be displayed. Text string `json:"value"` // IsMarkdown sets if the component has markdown text. IsMarkdown bool `json:"isMarkdown,omitempty"` // TrustedContent sets if the content of the markdown text can be trusted. // Use this when you want to use the markdown area to render custom HTML and links. // Setting this to true for content you do not control, like Kubernetes Resources, can result // in your plugin exposing XSS vulnerablities. TrustedContent bool `json:"trustedContent,omitempty"` // Status sets the status of the component. Status TextStatus `json:"status,omitempty"` }
TextConfig is the contents of Text
type TextStatus ¶ added in v0.11.0
type TextStatus int
TextStatus is the status of a text component
const ( // TextStatusOK TextStatusOK TextStatus = 1 // TextStatusWarning TextStatusWarning TextStatus = 2 // TextStatusError TextStatusError TextStatus = 3 )
type Timestamp ¶
type Timestamp struct { Base Config TimestampConfig `json:"config"` }
Timestamp is a component representing a point in time
+octant:component
func NewTimestamp ¶
NewTimestamp creates a timestamp component
func (*Timestamp) LessThan ¶
LessThan returns true if this component's value is less than the argument supplied.
func (*Timestamp) MarshalJSON ¶
MarshalJSON implements json.Marshaler
type TimestampConfig ¶
type TimestampConfig struct {
Timestamp int64 `json:"timestamp"`
}
TimestampConfig is the contents of Timestamp
type TitleComponent ¶
type TitleComponent interface { Component SupportsTitle() }
TitleComponent is a view component that can be used for a title.
func Title ¶
func Title(components ...TitleComponent) []TitleComponent
Title is a convenience method for creating a title.
func TitleFromString ¶
func TitleFromString(s string) []TitleComponent
TitleFromString is a convenience method for create a title from a string.
type TypedObject ¶
type TypedObject struct { Config json.RawMessage `json:"config,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
func (*TypedObject) ToComponent ¶
func (to *TypedObject) ToComponent() (Component, error)
type YAML ¶
type YAML struct { Base Config YAMLConfig `json:"config,omitempty"` }
YAML is a YAML component.
+octant:component
func NewYAML ¶
func NewYAML(title []TitleComponent, data string) *YAML
func (*YAML) GetMetadata ¶
GetMetadata returns the component's metadata.
func (*YAML) MarshalJSON ¶
type YAMLConfig ¶
type YAMLConfig struct {
Data string `json:"data,omitempty"`
}
Source Files ¶
- action.go
- alert.go
- annotations.go
- base.go
- button.go
- card.go
- code.go
- component.go
- container.go
- donut_chart.go
- dropdown.go
- editor.go
- error.go
- expression_selector.go
- extension.go
- flexlayout.go
- form.go
- graphviz.go
- grid_actions.go
- iframe.go
- label_selector.go
- labels.go
- link.go
- list.go
- loading.go
- logs.go
- modal.go
- pod_status.go
- port.go
- quadrant.go
- resource_viewer.go
- selectors.go
- single_stat.go
- stepper.go
- summary.go
- table.go
- terminal.go
- testing.go
- text.go
- timestamp.go
- unmarshal.go
- yaml.go