component

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// WidthQuarter is a quarter width section.
	WidthQuarter int = 6
	// WidthHalf is a half width section.
	WidthHalf int = 12
	// WidthFull is a full width section.
	WidthFull int = 24
)
View Source
const (
	FieldTypeCheckBox = "checkbox"
	FieldTypeRadio    = "radio"
	FieldTypeText     = "text"
	FieldTypePassword = "password"
	FieldTypeNumber   = "number"
	FieldTypeSelect   = "select"
	FieldTypeTextarea = "textarea"
	FieldTypeHidden   = "hidden"
)
View Source
const (
	// EdgeTypeImplicit is an implicit edge
	EdgeTypeImplicit = "implicit"
	// EdgeTypeExplicit is an explicit edge
	EdgeTypeExplicit = "explicit"
)

Variables

View Source
var EmptyContentResponse = ContentResponse{}

EmptyContentResponse is an empty content response.

Functions

func AssertEqual

func AssertEqual(t *testing.T, expected, got Component)

AssertEqual asserts two components are equal.

func TitleFromTitleComponent added in v0.7.0

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"`
}

Action is an action that can be performed on a component.

type AdjList

type AdjList map[string][]Edge

AdjList is an adjacency list - it maps nodes to edges

func (AdjList) Add

func (al AdjList) Add(src string, edge Edge)

Add adds a directed edge to the adjacency list

type Alert

type Alert struct {
	Type    AlertType `json:"type"`
	Message string    `json:"message"`
}

Alert is an alert. It can be used in components which support alerts.

func NewAlert added in v0.7.0

func NewAlert(alertType AlertType, message string) Alert

NewAlert creates an instance of Alert.

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 {
	Config AnnotationsConfig `json:"config"`
	// contains filtered or unexported fields
}

Annotations is a component representing key/value based annotations

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) LessThan

func (b *Annotations) LessThan(i interface{}) bool

LessThan returns false.

func (*Annotations) MarshalJSON

func (t *Annotations) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Annotations) SetAccessor

func (b *Annotations) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Annotations) String

func (b *Annotations) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type AnnotationsConfig

type AnnotationsConfig struct {
	Annotations map[string]string `json:"annotations"`
}

AnnotationsConfig is the contents of Annotations

type Button added in v0.7.0

type Button struct {
	Name         string         `json:"name"`
	Payload      action.Payload `json:"payload"`
	Confirmation *Confirmation  `json:"confirmation,omitempty"`
}

Button is a button in a group.

func NewButton added in v0.7.0

func NewButton(name string, payload action.Payload, options ...ButtonOption) Button

NewButton creates an instance of Button.

type ButtonGroup added in v0.7.0

type ButtonGroup struct {
	Config ButtonGroupConfig `json:"config"`
	// contains filtered or unexported fields
}

ButtonGroup is a group of buttons.

func NewButtonGroup added in v0.7.0

func NewButtonGroup() *ButtonGroup

NewButtonGroup creates an instance of ButtonGroup.

func (*ButtonGroup) AddButton added in v0.7.0

func (bg *ButtonGroup) AddButton(button Button)

AddButton adds a button to the ButtonGroup.

func (*ButtonGroup) GetMetadata added in v0.7.0

func (b *ButtonGroup) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*ButtonGroup) IsEmpty added in v0.7.0

func (b *ButtonGroup) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*ButtonGroup) LessThan added in v0.7.0

func (b *ButtonGroup) LessThan(i interface{}) bool

LessThan returns false.

func (*ButtonGroup) MarshalJSON added in v0.7.0

func (bg *ButtonGroup) MarshalJSON() ([]byte, error)

MarshalJSON marshals a button group.

func (*ButtonGroup) SetAccessor added in v0.7.0

func (b *ButtonGroup) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*ButtonGroup) String added in v0.7.0

func (b *ButtonGroup) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type ButtonGroupConfig added in v0.7.0

type ButtonGroupConfig struct {
	// Buttons are buttons in the group.
	Buttons []Button `json:"buttons"`
}

ButtonGroupConfig is configuration for a button group.

type ButtonOption added in v0.7.0

type ButtonOption func(button *Button)

ButtonOption is a function for configuring a Button.

func WithButtonConfirmation added in v0.7.0

func WithButtonConfirmation(title, body string) ButtonOption

WithButtonConfirmation configured a button with a confirmation.

type Card

type Card struct {
	Config CardConfig `json:"config"`
	// contains filtered or unexported fields
}

Card is a card component.

func NewCard

func NewCard(title string) *Card

NewCard creates a card component.

func (*Card) AddAction

func (c *Card) AddAction(action Action)

AddAction adds an action to a card.

func (*Card) GetMetadata

func (b *Card) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Card) IsEmpty

func (b *Card) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Card) LessThan

func (b *Card) LessThan(i interface{}) bool

LessThan returns false.

func (*Card) MarshalJSON

func (c *Card) MarshalJSON() ([]byte, error)

MarshalJSON marshals a card to JSON.

func (*Card) SetAccessor

func (b *Card) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Card) SetAlert

func (c *Card) SetAlert(alert Alert)

SetAlert sets an alert for a card.

func (*Card) SetBody

func (c *Card) SetBody(body Component)

SetBody sets the body for the card.

func (*Card) String

func (b *Card) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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"`
	// 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 {
	Config CardListConfig `json:"config"`
	// contains filtered or unexported fields
}

CardList is a component which comprises of a list of cards.

func NewCardList

func NewCardList(title string) *CardList

NewCardList creates a card list component.

func (*CardList) AddCard

func (c *CardList) AddCard(card Card)

AddCard adds a card to the list.

func (*CardList) GetMetadata

func (b *CardList) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*CardList) IsEmpty

func (b *CardList) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*CardList) LessThan

func (b *CardList) LessThan(i interface{}) bool

LessThan returns false.

func (*CardList) MarshalJSON

func (c *CardList) MarshalJSON() ([]byte, error)

MarshalJSON marshals a card list to JSON.

func (*CardList) SetAccessor

func (b *CardList) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*CardList) String

func (b *CardList) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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 Component

type Component interface {
	json.Marshaler

	// GetMetadata returns metadata for the component.
	GetMetadata() Metadata
	// SetAccessor sets the accessfor the component.
	SetAccessor(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 added in v0.7.0

type Confirmation struct {
	Title string `json:"title"`
	Body  string `json:"body"`
}

Confirmation is configuration for a confirmation dialog.

type ContainerDef

type ContainerDef struct {
	Name  string `json:"name"`
	Image string `json:"image"`
}

ContainerDef defines an individual docker container

type Containers

type Containers struct {
	Config ContainersConfig `json:"config"`
	// contains filtered or unexported fields
}

Containers is a component wrapping multiple docker container definitions

func NewContainers

func NewContainers() *Containers

NewContainers creates a containers 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) IsEmpty

func (b *Containers) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Containers) LessThan

func (b *Containers) LessThan(i interface{}) bool

LessThan returns false.

func (*Containers) MarshalJSON

func (t *Containers) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Containers) SetAccessor

func (b *Containers) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Containers) String

func (b *Containers) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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"`
	IconName   string           `json:"iconName,omitempty"`
	IconSource string           `json:"iconSource,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.

func (*ContentResponse) UnmarshalJSON

func (c *ContentResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals a content response from JSON.

type Edge

type Edge struct {
	Node string   `json:"node"`
	Type EdgeType `json:"edge"`
}

Edge represents a directed edge in a graph

type EdgeType

type EdgeType string

EdgeType represents whether a relationship between resources is implicit or explicit

type Error

type Error struct {
	Config ErrorConfig `json:"config"`
	// contains filtered or unexported fields
}

Error is a component for freetext

func NewError

func NewError(title []TitleComponent, err error) *Error

NewError creates a text component

func (*Error) GetMetadata

func (b *Error) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Error) IsEmpty

func (b *Error) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Error) LessThan

func (t *Error) LessThan(i interface{}) bool

LessThan returns true if this component's value is less than the argument supplied.

func (*Error) MarshalJSON

func (t *Error) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Error) SetAccessor

func (b *Error) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Error) String

func (t *Error) String() string

String returns the text content of the component.

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 {
	Config ExpressionSelectorConfig `json:"config"`
	// contains filtered or unexported fields
}

ExpressionSelector is a component for a single expression within a selector

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) IsEmpty

func (b *ExpressionSelector) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*ExpressionSelector) IsSelector

func (t *ExpressionSelector) IsSelector()

IsSelector marks the component as selector flavor. Implements Selector.

func (*ExpressionSelector) LessThan

func (b *ExpressionSelector) LessThan(i interface{}) bool

LessThan returns false.

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.

func (*ExpressionSelector) SetAccessor

func (b *ExpressionSelector) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*ExpressionSelector) String

func (b *ExpressionSelector) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type ExpressionSelectorConfig

type ExpressionSelectorConfig struct {
	Key      string   `json:"key"`
	Operator Operator `json:"operator"`
	Values   []string `json:"values"`
}

ExpressionSelectorConfig is the contents of ExpressionSelector

type FlexLayout

type FlexLayout struct {
	Config FlexLayoutConfig `json:"config,omitempty"`
	// contains filtered or unexported fields
}

FlexLayout is a flex layout view.

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) GetMetadata

func (fl *FlexLayout) GetMetadata() Metadata

GetMetadata returns the metadata for the flex layout view.

func (*FlexLayout) IsEmpty

func (b *FlexLayout) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*FlexLayout) LessThan

func (b *FlexLayout) LessThan(i interface{}) bool

LessThan returns false.

func (*FlexLayout) MarshalJSON

func (fl *FlexLayout) MarshalJSON() ([]byte, error)

MarshalJSON marshals the flex layout to JSON.

func (*FlexLayout) SetAccessor

func (b *FlexLayout) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*FlexLayout) SetButtonGroup added in v0.7.0

func (fl *FlexLayout) SetButtonGroup(group *ButtonGroup)

func (*FlexLayout) String

func (b *FlexLayout) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type FlexLayoutConfig

type FlexLayoutConfig struct {
	Sections    []FlexLayoutSection `json:"sections,omitempty"`
	ButtonGroup *ButtonGroup        `json:"buttonGroup,omitempty"`
}

FlexLayoutConfig is configuration for the flex layout view.

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

type Form struct {
	Fields []FormField `json:"fields"`
}

func CreateFormForObject added in v0.7.0

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 (f *Form) MarshalJSON() ([]byte, error)

func (*Form) UnmarshalJSON

func (f *Form) UnmarshalJSON(data []byte) error

type FormField

type FormField interface {
	Label() string
	Name() string
	Type() string
	Configuration() map[string]interface{}
	Value() interface{}

	json.Unmarshaler
	json.Marshaler
}

type FormFieldCheckBox

type FormFieldCheckBox struct {
	// contains filtered or unexported fields
}

func NewFormFieldCheckBox

func NewFormFieldCheckBox(label, name string, choices []InputChoice) *FormFieldCheckBox

func (*FormFieldCheckBox) Configuration

func (ff *FormFieldCheckBox) Configuration() map[string]interface{}

func (FormFieldCheckBox) Label

func (bff FormFieldCheckBox) Label() string

func (*FormFieldCheckBox) MarshalJSON

func (ff *FormFieldCheckBox) MarshalJSON() ([]byte, error)

func (FormFieldCheckBox) Name

func (bff FormFieldCheckBox) Name() string

func (FormFieldCheckBox) Type

func (bff FormFieldCheckBox) Type() string

func (*FormFieldCheckBox) UnmarshalJSON

func (ff *FormFieldCheckBox) UnmarshalJSON(data []byte) error

func (*FormFieldCheckBox) Value

func (ff *FormFieldCheckBox) Value() interface{}

type FormFieldHidden

type FormFieldHidden struct {
	// contains filtered or unexported fields
}

func NewFormFieldHidden

func NewFormFieldHidden(name, value string) *FormFieldHidden

func (*FormFieldHidden) Configuration

func (ff *FormFieldHidden) Configuration() map[string]interface{}

func (FormFieldHidden) Label

func (bff FormFieldHidden) Label() string

func (*FormFieldHidden) MarshalJSON

func (ff *FormFieldHidden) MarshalJSON() ([]byte, error)

func (FormFieldHidden) Name

func (bff FormFieldHidden) Name() string

func (FormFieldHidden) Type

func (bff FormFieldHidden) Type() string

func (*FormFieldHidden) UnmarshalJSON

func (ff *FormFieldHidden) UnmarshalJSON(data []byte) error

func (*FormFieldHidden) Value

func (ff *FormFieldHidden) Value() interface{}

type FormFieldNumber

type FormFieldNumber struct {
	// contains filtered or unexported fields
}

func NewFormFieldNumber

func NewFormFieldNumber(label, name, value string) *FormFieldNumber

func (*FormFieldNumber) Configuration

func (ff *FormFieldNumber) Configuration() map[string]interface{}

func (FormFieldNumber) Label

func (bff FormFieldNumber) Label() string

func (*FormFieldNumber) MarshalJSON

func (ff *FormFieldNumber) MarshalJSON() ([]byte, error)

func (FormFieldNumber) Name

func (bff FormFieldNumber) Name() string

func (FormFieldNumber) Type

func (bff FormFieldNumber) Type() string

func (*FormFieldNumber) UnmarshalJSON

func (ff *FormFieldNumber) UnmarshalJSON(data []byte) error

func (*FormFieldNumber) Value

func (ff *FormFieldNumber) Value() interface{}

type FormFieldPassword

type FormFieldPassword struct {
	// contains filtered or unexported fields
}

func NewFormFieldPassword

func NewFormFieldPassword(label, name, value string) *FormFieldPassword

func (*FormFieldPassword) Configuration

func (ff *FormFieldPassword) Configuration() map[string]interface{}

func (FormFieldPassword) Label

func (bff FormFieldPassword) Label() string

func (*FormFieldPassword) MarshalJSON

func (ff *FormFieldPassword) MarshalJSON() ([]byte, error)

func (FormFieldPassword) Name

func (bff FormFieldPassword) Name() string

func (FormFieldPassword) Type

func (bff FormFieldPassword) Type() string

func (*FormFieldPassword) UnmarshalJSON

func (ff *FormFieldPassword) UnmarshalJSON(data []byte) error

func (*FormFieldPassword) Value

func (ff *FormFieldPassword) Value() interface{}

type FormFieldRadio

type FormFieldRadio struct {
	// contains filtered or unexported fields
}

func NewFormFieldRadio

func NewFormFieldRadio(label, name string, choices []InputChoice) *FormFieldRadio

func (*FormFieldRadio) Configuration

func (ff *FormFieldRadio) Configuration() map[string]interface{}

func (FormFieldRadio) Label

func (bff FormFieldRadio) Label() string

func (*FormFieldRadio) MarshalJSON

func (ff *FormFieldRadio) MarshalJSON() ([]byte, error)

func (FormFieldRadio) Name

func (bff FormFieldRadio) Name() string

func (FormFieldRadio) Type

func (bff FormFieldRadio) Type() string

func (*FormFieldRadio) UnmarshalJSON

func (ff *FormFieldRadio) UnmarshalJSON(data []byte) error

func (*FormFieldRadio) Value

func (ff *FormFieldRadio) Value() interface{}

type FormFieldSelect

type FormFieldSelect struct {
	// contains filtered or unexported fields
}

func NewFormFieldSelect

func NewFormFieldSelect(label, name string, choices []InputChoice, multiple bool) *FormFieldSelect

func (*FormFieldSelect) Configuration

func (ff *FormFieldSelect) Configuration() map[string]interface{}

func (FormFieldSelect) Label

func (bff FormFieldSelect) Label() string

func (*FormFieldSelect) MarshalJSON

func (ff *FormFieldSelect) MarshalJSON() ([]byte, error)

func (FormFieldSelect) Name

func (bff FormFieldSelect) Name() string

func (FormFieldSelect) Type

func (bff FormFieldSelect) Type() string

func (*FormFieldSelect) UnmarshalJSON

func (ff *FormFieldSelect) UnmarshalJSON(data []byte) error

func (*FormFieldSelect) Value

func (ff *FormFieldSelect) Value() interface{}

type FormFieldText

type FormFieldText struct {
	// contains filtered or unexported fields
}

func NewFormFieldText

func NewFormFieldText(label, name, value string) *FormFieldText

func (*FormFieldText) Configuration

func (ff *FormFieldText) Configuration() map[string]interface{}

func (FormFieldText) Label

func (bff FormFieldText) Label() string

func (*FormFieldText) MarshalJSON

func (ff *FormFieldText) MarshalJSON() ([]byte, error)

func (FormFieldText) Name

func (bff FormFieldText) Name() string

func (FormFieldText) Type

func (bff FormFieldText) Type() string

func (*FormFieldText) UnmarshalJSON

func (ff *FormFieldText) UnmarshalJSON(data []byte) error

func (*FormFieldText) Value

func (ff *FormFieldText) Value() interface{}

type FormFieldTextarea

type FormFieldTextarea struct {
	// contains filtered or unexported fields
}

func NewFormFieldTextarea

func NewFormFieldTextarea(label, name, value string) *FormFieldTextarea

func (*FormFieldTextarea) Configuration

func (ff *FormFieldTextarea) Configuration() map[string]interface{}

func (FormFieldTextarea) Label

func (bff FormFieldTextarea) Label() string

func (*FormFieldTextarea) MarshalJSON

func (ff *FormFieldTextarea) MarshalJSON() ([]byte, error)

func (FormFieldTextarea) Name

func (bff FormFieldTextarea) Name() string

func (FormFieldTextarea) Type

func (bff FormFieldTextarea) Type() string

func (*FormFieldTextarea) UnmarshalJSON

func (ff *FormFieldTextarea) UnmarshalJSON(data []byte) error

func (*FormFieldTextarea) Value

func (ff *FormFieldTextarea) Value() interface{}

type Graphviz

type Graphviz struct {
	Config GraphvizConfig `json:"config"`
	// contains filtered or unexported fields
}

Graphviz is a component for displaying graphviz diagrams.

func NewGraphviz

func NewGraphviz(dot string) *Graphviz

func (*Graphviz) GetMetadata

func (b *Graphviz) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Graphviz) IsEmpty

func (b *Graphviz) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Graphviz) LessThan

func (b *Graphviz) LessThan(i interface{}) bool

LessThan returns false.

func (*Graphviz) MarshalJSON

func (g *Graphviz) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Graphviz) SetAccessor

func (b *Graphviz) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Graphviz) String

func (b *Graphviz) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type GraphvizConfig

type GraphvizConfig struct {
	DOT string `json:"dot,omitempty"`
}

GraphvizConfig is the contents of Graphviz.

type InputChoice

type InputChoice struct {
	Label   string `json:"label"`
	Value   string `json:"value"`
	Checked bool   `json:"checked"`
}

type LabelSelector

type LabelSelector struct {
	Config LabelSelectorConfig `json:"config"`
	// contains filtered or unexported fields
}

LabelSelector is a component for a single label within a selector

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) IsEmpty

func (b *LabelSelector) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*LabelSelector) IsSelector

func (t *LabelSelector) IsSelector()

IsSelector marks the component as selector flavor. Implements Selector.

func (*LabelSelector) LessThan

func (b *LabelSelector) LessThan(i interface{}) bool

LessThan returns false.

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.

func (*LabelSelector) SetAccessor

func (b *LabelSelector) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*LabelSelector) String

func (b *LabelSelector) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type LabelSelectorConfig

type LabelSelectorConfig struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

LabelSelectorConfig is the contents of LabelSelector

type Labels

type Labels struct {
	Config LabelsConfig `json:"config"`
	// contains filtered or unexported fields
}

Labels is a component representing key/value based labels

func NewLabels

func NewLabels(labels map[string]string) *Labels

NewLabels creates a labels component

func (*Labels) GetMetadata

func (t *Labels) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Labels) IsEmpty

func (b *Labels) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Labels) LessThan

func (b *Labels) LessThan(i interface{}) bool

LessThan returns false.

func (*Labels) MarshalJSON

func (t *Labels) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler. It will filter label keys specified in `labelsFilteredKeys`.

func (*Labels) SetAccessor

func (b *Labels) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Labels) String

func (b *Labels) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type LabelsConfig

type LabelsConfig struct {
	Labels map[string]string `json:"labels"`
}

LabelsConfig is the contents of Labels

type Link struct {
	Config LinkConfig `json:"config"`
	// contains filtered or unexported fields
}

Link is a text component that contains a link.

func NewLink(title, s, ref string) *Link

NewLink creates a link component

func (*Link) GetMetadata

func (t *Link) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Link) IsEmpty

func (b *Link) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Link) LessThan

func (t *Link) LessThan(i interface{}) bool

LessThan returns true if this component's value is less than the argument supplied.

func (*Link) MarshalJSON

func (t *Link) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Link) Ref

func (t *Link) Ref() string

Ref returns the link's ref.

func (*Link) SetAccessor

func (b *Link) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Link) String

func (t *Link) String() string

String returns the link's text.

func (*Link) SupportsTitle

func (t *Link) SupportsTitle()

SupportsTitle designates this is a TextComponent.

func (*Link) Text

func (t *Link) Text() string

Text returns the link's text.

type LinkConfig

type LinkConfig struct {
	Text string `json:"value"`
	Ref  string `json:"ref"`
}

LinkConfig is the contents of Link

type List

type List struct {
	Config ListConfig `json:"config"`
	// contains filtered or unexported fields
}

List contains other Components

func NewList

func NewList(title string, items []Component) *List

NewList creates a list component

func (*List) Add

func (t *List) Add(items ...Component)

Add adds additional items to the tail of the list.

func (*List) GetMetadata

func (b *List) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*List) IsEmpty

func (b *List) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*List) LessThan

func (b *List) LessThan(i interface{}) bool

LessThan returns false.

func (*List) MarshalJSON

func (t *List) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*List) SetAccessor

func (b *List) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*List) SetIcon

func (t *List) SetIcon(name, source string)

SetIcon sets the icon for a list.

func (*List) String

func (b *List) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type ListConfig

type ListConfig struct {
	IconName   string      `json:"iconName"`
	IconSource string      `json:"iconSource"`
	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 {
	Config LoadingConfig `json:"config"`
	// contains filtered or unexported fields
}

Loading is a component for a spinner

func NewLoading

func NewLoading(title []TitleComponent, message string) *Loading

NewLoading creates a loading component

func (*Loading) GetMetadata

func (b *Loading) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Loading) IsEmpty

func (b *Loading) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Loading) LessThan

func (b *Loading) LessThan(i interface{}) bool

LessThan returns false.

func (*Loading) MarshalJSON

func (t *Loading) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Loading) SetAccessor

func (b *Loading) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Loading) String

func (t *Loading) String() string

String returns the text content of the component.

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 {
	Config LogsConfig `json:"config,omitempty"`
	// contains filtered or unexported fields
}

func NewLogs

func NewLogs(namespace, name string, containers []string) *Logs

func (*Logs) GetMetadata

func (l *Logs) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Logs) IsEmpty

func (b *Logs) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Logs) LessThan

func (b *Logs) LessThan(i interface{}) bool

LessThan returns false.

func (*Logs) MarshalJSON

func (l *Logs) MarshalJSON() ([]byte, error)

func (*Logs) SetAccessor

func (b *Logs) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Logs) String

func (b *Logs) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type LogsConfig

type LogsConfig struct {
	Namespace  string   `json:"namespace,omitempty"`
	Name       string   `json:"name,omitempty"`
	Containers []string `json:"containers,omitempty"`
}

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) SetTitleText

func (m *Metadata) SetTitleText(parts ...string)

SetTitleText sets the title using text components.

func (*Metadata) UnmarshalJSON

func (m *Metadata) UnmarshalJSON(data []byte) error

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.

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 Nodes

type Nodes map[string]Node

Nodes is a set of graph nodes

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

func MatchOperator(s string) (Operator, error)

MatchOperator matches an operator.

type PodStatus

type PodStatus struct {
	Config PodStatusConfig `json:"config"`
	// contains filtered or unexported fields
}

PodStatus represents the status for a group of pods.

func NewPodStatus

func NewPodStatus() *PodStatus

NewPodStatus creates a PodStatus.

func (*PodStatus) AddSummary

func (ps *PodStatus) AddSummary(name string, details []Component, status NodeStatus)

AddSummary adds summary for a pod.

func (*PodStatus) GetMetadata

func (b *PodStatus) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*PodStatus) IsEmpty

func (b *PodStatus) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*PodStatus) LessThan

func (b *PodStatus) LessThan(i interface{}) bool

LessThan returns false.

func (*PodStatus) MarshalJSON

func (ps *PodStatus) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*PodStatus) SetAccessor

func (b *PodStatus) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*PodStatus) Status

func (ps *PodStatus) Status() NodeStatus

func (*PodStatus) String

func (b *PodStatus) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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 {
	Config PortConfig `json:"config"`
	// contains filtered or unexported fields
}

Port is a component for a port

func NewPort

func NewPort(namespace, apiVersion, kind, name string, port int, protocol string, pfs PortForwardState) *Port

NewPort creates a port component

func (*Port) GetMetadata

func (t *Port) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Port) IsEmpty

func (b *Port) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Port) LessThan

func (b *Port) LessThan(i interface{}) bool

LessThan returns false.

func (*Port) MarshalJSON

func (t *Port) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Port) SetAccessor

func (b *Port) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Port) String

func (b *Port) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type PortConfig

type PortConfig struct {
	Namespace  string           `json:"namespace,omitempty"`
	APIVersion string           `json:"apiVersion,omitempty"`
	Kind       string           `json:"kind,omitempty"`
	Name       string           `json:"name,omitempty"`
	Port       int              `json:"port,omitempty"`
	Protocol   string           `json:"protocol,omitempty"`
	State      PortForwardState `json:"state,omitempty"`
}

PortConfig is the contents of Port

type PortForwardState

type PortForwardState struct {
	IsForwardable bool   `json:"isForwardable,omitempty"`
	IsForwarded   bool   `json:"isForwarded,omitempty"`
	Port          int    `json:"port,omitempty"`
	ID            string `json:"id,omitempty"`
}

type Ports

type Ports struct {
	Config PortsConfig `json:"config,omitempty"`
	// contains filtered or unexported fields
}

func NewPorts

func NewPorts(ports []Port) *Ports

func (*Ports) GetMetadata

func (t *Ports) GetMetadata() Metadata

func (*Ports) IsEmpty

func (b *Ports) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Ports) LessThan

func (b *Ports) LessThan(i interface{}) bool

LessThan returns false.

func (*Ports) MarshalJSON

func (t *Ports) MarshalJSON() ([]byte, error)

func (*Ports) SetAccessor

func (b *Ports) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Ports) String

func (b *Ports) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type PortsConfig

type PortsConfig struct {
	Ports []Port `json:"ports,omitempty"`
}

type Quadrant

type Quadrant struct {
	Config QuadrantConfig `json:"config"`
	// contains filtered or unexported fields
}

func NewQuadrant

func NewQuadrant(title string) *Quadrant

NewQuadrant creates a quadrant component

func (*Quadrant) GetMetadata

func (t *Quadrant) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Quadrant) IsEmpty

func (b *Quadrant) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Quadrant) LessThan

func (b *Quadrant) LessThan(i interface{}) bool

LessThan returns false.

func (*Quadrant) MarshalJSON

func (t *Quadrant) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Quadrant) Set

func (t *Quadrant) Set(pos QuadrantPosition, label, value string) error

Set adds additional panels to the quadrant

func (*Quadrant) SetAccessor

func (b *Quadrant) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Quadrant) String

func (b *Quadrant) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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 QuadrantValue struct {
	Value string `json:"value,omitempty"`
	Label string `json:"label,omitempty"`
}

type ResourceViewer

type ResourceViewer struct {
	Config ResourceViewerConfig `json:"config,omitempty"`
	// contains filtered or unexported fields
}

ResourceView is a resource viewer 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) IsEmpty

func (b *ResourceViewer) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*ResourceViewer) LessThan

func (b *ResourceViewer) LessThan(i interface{}) bool

LessThan returns false.

func (*ResourceViewer) MarshalJSON

func (rv *ResourceViewer) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ResourceViewer) Select

func (rv *ResourceViewer) Select(id string)

func (*ResourceViewer) SetAccessor

func (b *ResourceViewer) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*ResourceViewer) String

func (b *ResourceViewer) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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 {
	Config SelectorsConfig `json:"config"`
	// contains filtered or unexported fields
}

Selectors contains other Components

func NewSelectors

func NewSelectors(selectors []Selector) *Selectors

NewSelectors creates a selectors component

func (*Selectors) Add

func (t *Selectors) Add(selectors ...Selector)

Add adds additional items to the tail of the selectors.

func (*Selectors) GetMetadata

func (t *Selectors) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Selectors) IsEmpty

func (b *Selectors) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Selectors) LessThan

func (b *Selectors) LessThan(i interface{}) bool

LessThan returns false.

func (*Selectors) MarshalJSON

func (t *Selectors) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Selectors) SetAccessor

func (b *Selectors) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Selectors) String

func (b *Selectors) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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 Summary

type Summary struct {
	Config SummaryConfig `json:"config"`
	// contains filtered or unexported fields
}

Summary contains other Components

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.

func (*Summary) AddAction

func (t *Summary) AddAction(action Action)

func (*Summary) GetMetadata

func (t *Summary) GetMetadata() Metadata

GetMetadata accesses the components metadata. Implements Component.

func (*Summary) IsEmpty

func (b *Summary) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Summary) LessThan

func (b *Summary) LessThan(i interface{}) bool

LessThan returns false.

func (*Summary) MarshalJSON

func (t *Summary) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Summary) Sections

func (t *Summary) Sections() []SummarySection

Sections returns sections for the summary.

func (*Summary) SetAccessor

func (b *Summary) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Summary) SetAlert added in v0.7.0

func (t *Summary) SetAlert(alert Alert)

SetAlert sets an alert for the summary.

func (*Summary) String

func (b *Summary) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type SummaryConfig

type SummaryConfig struct {
	Sections []SummarySection `json:"sections"`
	Actions  []Action         `json:"actions,omitempty"`
	Alert    *Alert           `json:"alert,omitempty"`
}

SummaryConfig is the contents of a Summary

type SummarySection

type SummarySection struct {
	Header  string    `json:"header"`
	Content Component `json:"content"`
}

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
	Contents FlexLayout
}

Tab represents a tab. A tab is a flex layout with a name.

func NewTabWithContents added in v0.6.0

func NewTabWithContents(flexLayout FlexLayout) *Tab

NewTabWithContents creates a tab with contents.

type Table

type Table struct {
	Config TableConfig `json:"config"`
	// contains filtered or unexported fields
}

Table contains other Components

func NewTable

func NewTable(title, placeholder string, cols []TableCol) *Table

NewTable creates a table component

func NewTableWithRows

func NewTableWithRows(title, placeholder string, cols []TableCol, rows []TableRow) *Table

NewTableWithRows creates a table with rows.

func (*Table) Add

func (t *Table) Add(rows ...TableRow)

Add adds additional items to the tail of the table. Use this function to add rows in a concurrency safe fashion.

func (*Table) AddColumn

func (t *Table) AddColumn(name string)

AddColumn adds a column to the table.

func (*Table) AddFilter added in v0.7.0

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) Columns

func (t *Table) Columns() []TableCol

Columns returns the table columns.

func (*Table) GetMetadata

func (b *Table) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Table) IsEmpty

func (t *Table) IsEmpty() bool

IsEmpty returns true if there is one or more rows.

func (*Table) LessThan

func (b *Table) LessThan(i interface{}) bool

LessThan returns false.

func (*Table) MarshalJSON

func (t *Table) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Table) Rows

func (t *Table) Rows() []TableRow

Rows returns the table rows.

func (*Table) SetAccessor

func (b *Table) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Table) SetIsLoading added in v0.6.0

func (t *Table) SetIsLoading(isLoading bool)

func (*Table) SetPlaceholder added in v0.6.0

func (t *Table) SetPlaceholder(placeholder string)

func (*Table) Sort

func (t *Table) Sort(name string, reverse bool)

func (*Table) String

func (b *Table) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type TableCol

type TableCol struct {
	Name     string `json:"name"`
	Accessor string `json:"accessor"`
}

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

func NewTableCols(keys ...string) []TableCol

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"`
}

TableConfig is the contents of a Table

type TableFilter added in v0.7.0

type TableFilter struct {
	Values   []string `json:"values"`
	Selected []string `json:"selected"`
}

TableFilter describer a text filter for a table.

type TableRow

type TableRow map[string]Component

TableRow is a row in table. Each key->value represents a particular column in the row.

func (*TableRow) UnmarshalJSON

func (t *TableRow) UnmarshalJSON(data []byte) error

type Text

type Text struct {
	Config TextConfig `json:"config"`
	// contains filtered or unexported fields
}

Text is a component for text

func NewMarkdownText

func NewMarkdownText(s string) *Text

NewMarkdownText creates a text component styled with markdown.

func NewText

func NewText(s string) *Text

NewText creates a text component

func (*Text) DisableMarkdown

func (t *Text) DisableMarkdown()

DisableMarkdown disables markdown for this text component.

func (*Text) EnableMarkdown

func (t *Text) EnableMarkdown()

EnableMarkdown enables markdown for this text component.

func (*Text) GetMetadata

func (b *Text) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Text) IsEmpty

func (b *Text) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Text) IsMarkdown

func (t *Text) IsMarkdown() bool

IsMarkdown returns if this component is markdown.

func (*Text) LessThan

func (t *Text) LessThan(i interface{}) bool

LessThan returns true if this component's value is less than the argument supplied.

func (*Text) MarshalJSON

func (t *Text) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Text) SetAccessor

func (b *Text) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Text) String

func (t *Text) String() string

String returns the text content of the component.

func (*Text) SupportsTitle

func (t *Text) SupportsTitle()

SupportsTitle denotes this is a TextComponent.

type TextConfig

type TextConfig struct {
	Text       string `json:"value"`
	IsMarkdown bool   `json:"isMarkdown,omitempty"`
}

TextConfig is the contents of Text

type Timestamp

type Timestamp struct {
	Config TimestampConfig `json:"config"`
	// contains filtered or unexported fields
}

Timestamp is a component representing a point in time

func NewTimestamp

func NewTimestamp(t time.Time) *Timestamp

NewTimestamp creates a timestamp component

func (*Timestamp) GetMetadata

func (b *Timestamp) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*Timestamp) IsEmpty

func (b *Timestamp) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*Timestamp) LessThan

func (t *Timestamp) LessThan(i interface{}) bool

LessThan returns true if this component's value is less than the argument supplied.

func (*Timestamp) MarshalJSON

func (t *Timestamp) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Timestamp) SetAccessor

func (b *Timestamp) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*Timestamp) String

func (b *Timestamp) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

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 {
	Config YAMLConfig `json:"config,omitempty"`
	// contains filtered or unexported fields
}

func NewYAML

func NewYAML(title []TitleComponent, data string) *YAML

func (*YAML) Data

func (y *YAML) Data(object runtime.Object) error

func (*YAML) GetMetadata

func (y *YAML) GetMetadata() Metadata

GetMetadata returns the component's metadata.

func (*YAML) IsEmpty

func (b *YAML) IsEmpty() bool

IsEmpty returns false by default. Let the components that wrap base determine if they are empty or not if they wish.

func (*YAML) LessThan

func (b *YAML) LessThan(i interface{}) bool

LessThan returns false.

func (*YAML) MarshalJSON

func (y *YAML) MarshalJSON() ([]byte, error)

func (*YAML) SetAccessor

func (b *YAML) SetAccessor(accessor string)

SetAccessor sets the accessor for the object.

func (*YAML) String

func (b *YAML) String() string

String returns an empty string. If a component wants to provide a value it can override this function.

type YAMLConfig

type YAMLConfig struct {
	Data string `json:"data,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL