Documentation ¶
Index ¶
- Constants
- func PasswordLoginOrder(in []string) []string
- func SortByGroups(orderByGroups []Group) func(*sortOptions)
- func SortBySchema(schemaRef string) func(*sortOptions)
- func SortUpdateOrder(f func([]string) []string) func(*sortOptions)
- func SortUseOrder(keysInOrder []string) func(*sortOptions)
- func SortUseOrderAppend(keysInOrder []string) func(*sortOptions)
- func WithImageAttributes(f func(a *ImageAttributes)) func(a *ImageAttributes)
- func WithInputAttributes(f func(a *InputAttributes)) func(a *InputAttributes)
- func WithRequiredInputAttribute(a *InputAttributes)
- func WithScriptAttributes(f func(a *ScriptAttributes)) func(a *ScriptAttributes)
- type AnchorAttributes
- type Attributes
- type Group
- type ImageAttributes
- type ImageAttributesModifier
- type ImageAttributesModifiers
- type InputAttributeType
- type InputAttributes
- type InputAttributesModifier
- type InputAttributesModifiers
- type Meta
- type Node
- func NewAnchorField(id string, href string, group Group, title *text.Message) *Node
- func NewCSRFNode(token string) *Node
- func NewImageField(id string, src string, group Group, opts ...ImageAttributesModifier) *Node
- func NewInputField(name string, value interface{}, group Group, inputType InputAttributeType, ...) *Node
- func NewInputFieldFromJSON(name string, value interface{}, group Group, opts ...InputAttributesModifier) *Node
- func NewInputFieldFromSchema(name string, group Group, p jsonschemax.Path, opts ...InputAttributesModifier) *Node
- func NewScriptField(name string, src string, group Group, integrity string, ...) *Node
- func NewTextField(id string, text *text.Message, group Group) *Node
- type Nodes
- func (n *Nodes) Append(node *Node)
- func (n Nodes) Find(id string) *Node
- func (n *Nodes) Remove(ids ...string)
- func (n Nodes) Reset(exclude ...string)
- func (n Nodes) ResetNodes(reset ...string)
- func (n Nodes) ResetNodesWithPrefix(prefix string)
- func (n *Nodes) SetValueAttribute(id string, value interface{}) bool
- func (n Nodes) SortBySchema(ctx context.Context, opts ...SortOption) error
- func (n *Nodes) Upsert(node *Node)
- type ScriptAttributes
- type ScriptAttributesModifier
- type ScriptAttributesModifiers
- type SortOption
- type TextAttributes
- type Type
Constants ¶
const ( TOTPCode = "totp_code" TOTPSecretKey = "totp_secret_key" TOTPQR = "totp_qr" TOTPUnlink = "totp_unlink" )
const ( LookupReveal = "lookup_secret_reveal" LookupRegenerate = "lookup_secret_regenerate" LookupDisable = "lookup_secret_disable" LookupCodes = "lookup_secret_codes" LookupConfirm = "lookup_secret_confirm" LookupCodeEnter = "lookup_secret" )
const ( WebAuthnRegisterTrigger = "webauthn_register_trigger" WebAuthnRegister = "webauthn_register" WebAuthnLogin = "webauthn_login" WebAuthnLoginTrigger = "webauthn_login_trigger" WebAuthnRegisterDisplayName = "webauthn_register_displayname" WebAuthnRemove = "webauthn_remove" WebAuthnScript = "webauthn_script" )
const ( DefaultGroup Group = "default" PasswordGroup Group = "password" OpenIDConnectGroup Group = "oidc" ProfileGroup Group = "profile" RecoveryLinkGroup Group = "link" VerificationLinkGroup Group = "link" TOTPGroup Group = "totp" LookupGroup Group = "lookup_secret" WebAuthnGroup Group = "webauthn" Text Type = "text" Input Type = "input" Image Type = "img" Anchor Type = "a" Script Type = "script" )
const DisableFormField = "disableFormField"
Variables ¶
This section is empty.
Functions ¶
func PasswordLoginOrder ¶
func SortByGroups ¶
func SortByGroups(orderByGroups []Group) func(*sortOptions)
func SortBySchema ¶
func SortBySchema(schemaRef string) func(*sortOptions)
func SortUpdateOrder ¶
func SortUseOrder ¶
func SortUseOrder(keysInOrder []string) func(*sortOptions)
func SortUseOrderAppend ¶
func SortUseOrderAppend(keysInOrder []string) func(*sortOptions)
func WithImageAttributes ¶
func WithImageAttributes(f func(a *ImageAttributes)) func(a *ImageAttributes)
func WithInputAttributes ¶
func WithInputAttributes(f func(a *InputAttributes)) func(a *InputAttributes)
func WithRequiredInputAttribute ¶
func WithRequiredInputAttribute(a *InputAttributes)
func WithScriptAttributes ¶
func WithScriptAttributes(f func(a *ScriptAttributes)) func(a *ScriptAttributes)
Types ¶
type AnchorAttributes ¶
type AnchorAttributes struct { // The link's href (destination) URL. // // format: uri // required: true HREF string `json:"href"` // The link's title. // // required: true Title *text.Message `json:"title"` // A unique identifier // // required: true Identifier string `json:"id"` // NodeType represents this node's types. It is a mirror of `node.type` and // is primarily used to allow compatibility with OpenAPI 3.0. // // required: true NodeType Type `json:"node_type"` }
AnchorAttributes represents the attributes of an anchor node.
swagger:model uiNodeAnchorAttributes
func (*AnchorAttributes) GetNodeType ¶
func (a *AnchorAttributes) GetNodeType() Type
func (*AnchorAttributes) GetValue ¶
func (a *AnchorAttributes) GetValue() interface{}
func (*AnchorAttributes) ID ¶
func (a *AnchorAttributes) ID() string
func (*AnchorAttributes) Reset ¶
func (a *AnchorAttributes) Reset()
func (*AnchorAttributes) SetValue ¶
func (a *AnchorAttributes) SetValue(value interface{})
type Attributes ¶
type Attributes interface { // swagger:ignore ID() string // swagger:ignore Reset() // swagger:ignore SetValue(value interface{}) // swagger:ignore GetValue() interface{} // swagger:ignore GetNodeType() Type }
Attributes represents a list of attributes (e.g. `href="foo"` for links).
swagger:model uiNodeAttributes
type ImageAttributes ¶
type ImageAttributes struct { // The image's source URL. // // format: uri // required: true Source string `json:"src"` // A unique identifier // // required: true Identifier string `json:"id"` // Width of the image // // required: true Width int `json:"width"` // Height of the image // // required: true Height int `json:"height"` // NodeType represents this node's types. It is a mirror of `node.type` and // is primarily used to allow compatibility with OpenAPI 3.0. // // required: true NodeType Type `json:"node_type"` }
ImageAttributes represents the attributes of an image node.
swagger:model uiNodeImageAttributes
func (*ImageAttributes) GetNodeType ¶
func (a *ImageAttributes) GetNodeType() Type
func (*ImageAttributes) GetValue ¶
func (a *ImageAttributes) GetValue() interface{}
func (*ImageAttributes) ID ¶
func (a *ImageAttributes) ID() string
func (*ImageAttributes) Reset ¶
func (a *ImageAttributes) Reset()
func (*ImageAttributes) SetValue ¶
func (a *ImageAttributes) SetValue(value interface{})
type ImageAttributesModifier ¶
type ImageAttributesModifier func(attributes *ImageAttributes)
type ImageAttributesModifiers ¶
type ImageAttributesModifiers []ImageAttributesModifier
type InputAttributeType ¶
type InputAttributeType string
swagger:model uiNodeInputAttributeType
const ( InputAttributeTypeText InputAttributeType = "text" InputAttributeTypePassword InputAttributeType = "password" InputAttributeTypeNumber InputAttributeType = "number" InputAttributeTypeCheckbox InputAttributeType = "checkbox" InputAttributeTypeHidden InputAttributeType = "hidden" InputAttributeTypeEmail InputAttributeType = "email" InputAttributeTypeSubmit InputAttributeType = "submit" InputAttributeTypeButton InputAttributeType = "button" InputAttributeTypeDateTimeLocal InputAttributeType = "datetime-local" InputAttributeTypeDate InputAttributeType = "date" InputAttributeTypeURI InputAttributeType = "url" )
type InputAttributes ¶
type InputAttributes struct { // The input's element name. // // required: true Name string `json:"name"` // The input's element type. // // required: true Type InputAttributeType `json:"type" faker:"-"` // The input's value. FieldValue interface{} `json:"value,omitempty" faker:"string"` // Mark this input field as required. Required bool `json:"required,omitempty"` // The input's label text. Label *text.Message `json:"label,omitempty"` // The input's pattern. Pattern string `json:"pattern,omitempty"` // Sets the input's disabled field to true or false. // // required: true Disabled bool `json:"disabled"` // OnClick may contain javascript which should be executed on click. This is primarily // used for WebAuthn. OnClick string `json:"onclick,omitempty"` // NodeType represents this node's types. It is a mirror of `node.type` and // is primarily used to allow compatibility with OpenAPI 3.0. // // required: true NodeType Type `json:"node_type"` }
InputAttributes represents the attributes of an input node
swagger:model uiNodeInputAttributes
func (*InputAttributes) GetNodeType ¶
func (a *InputAttributes) GetNodeType() Type
func (*InputAttributes) GetValue ¶
func (a *InputAttributes) GetValue() interface{}
func (*InputAttributes) ID ¶
func (a *InputAttributes) ID() string
func (*InputAttributes) Reset ¶
func (a *InputAttributes) Reset()
func (*InputAttributes) SetValue ¶
func (a *InputAttributes) SetValue(value interface{})
type InputAttributesModifier ¶
type InputAttributesModifier func(attributes *InputAttributes)
type InputAttributesModifiers ¶
type InputAttributesModifiers []InputAttributesModifier
type Meta ¶
type Meta struct { // Label represents the node's label. // // Keep in mind that these values are autogenerated and can not be changed. // If you wish to use other titles or labels implement that directly in // your UI. Label *text.Message `json:"label,omitempty"` }
A Node's Meta Information
This might include a label and other information that can optionally be used to render UIs.
swagger:model uiNodeMeta
type Node ¶
type Node struct { // The node's type // // Can be one of: text, input, img, a // // required: true Type Type `json:"type" faker:"-"` // Group specifies which group (e.g. password authenticator) this node belongs to. // // required: true Group Group `json:"group"` // The node's attributes. // // required: true // swagger:type uiNodeAttributes Attributes Attributes `json:"attributes" faker:"ui_node_attributes"` // The node's messages // // Contains error, validation, or other messages relevant to this node. // // required: true Messages text.Messages `json:"messages"` // Meta contains a node meta information // // This might include a label and other information that can optionally // be used to render UIs. // // required: true Meta *Meta `json:"meta"` }
Node represents a flow's nodes
Nodes are represented as HTML elements or their native UI equivalents. For example, a node can be an `<img>` tag, or an `<input element>` but also `some plain text`.
swagger:model uiNode
func NewAnchorField ¶
func NewCSRFNode ¶
func NewImageField ¶
func NewImageField(id string, src string, group Group, opts ...ImageAttributesModifier) *Node
func NewInputField ¶
func NewInputField(name string, value interface{}, group Group, inputType InputAttributeType, opts ...InputAttributesModifier) *Node
func NewInputFieldFromJSON ¶
func NewInputFieldFromJSON(name string, value interface{}, group Group, opts ...InputAttributesModifier) *Node
func NewInputFieldFromSchema ¶
func NewInputFieldFromSchema(name string, group Group, p jsonschemax.Path, opts ...InputAttributesModifier) *Node
func NewScriptField ¶
func (*Node) MarshalJSON ¶
func (*Node) UnmarshalJSON ¶
type Nodes ¶
type Nodes []*Node
swagger:model uiNodes
func (Nodes) ResetNodes ¶
func (Nodes) ResetNodesWithPrefix ¶
func (*Nodes) SetValueAttribute ¶
SetValueAttribute sets a node's attribute's value or returns false if no node is found.
func (Nodes) SortBySchema ¶
func (n Nodes) SortBySchema(ctx context.Context, opts ...SortOption) error
type ScriptAttributes ¶
type ScriptAttributes struct { // The script source // // required: true Source string `json:"src"` // The script async type // // required: true Async bool `json:"async"` // The script referrer policy // // required: true ReferrerPolicy string `json:"referrerpolicy"` // The script cross origin policy // // required: true CrossOrigin string `json:"crossorigin"` // The script's integrity hash // // required: true Integrity string `json:"integrity"` // The script MIME type // // required: true Type string `json:"type"` // A unique identifier // // required: true Identifier string `json:"id"` // Nonce for CSP // // A nonce you may want to use to improve your Content Security Policy. // You do not have to use this value but if you want to improve your CSP // policies you may use it. You can also choose to use your own nonce value! // // required: true Nonce string `json:"nonce"` // NodeType represents this node's types. It is a mirror of `node.type` and // is primarily used to allow compatibility with OpenAPI 3.0. // // required: true NodeType Type `json:"node_type"` }
ScriptAttributes represent script nodes which load javascript.
swagger:model uiNodeScriptAttributes
func (*ScriptAttributes) GetNodeType ¶
func (a *ScriptAttributes) GetNodeType() Type
func (*ScriptAttributes) GetValue ¶
func (a *ScriptAttributes) GetValue() interface{}
func (*ScriptAttributes) ID ¶
func (a *ScriptAttributes) ID() string
func (*ScriptAttributes) Reset ¶
func (a *ScriptAttributes) Reset()
func (*ScriptAttributes) SetValue ¶
func (a *ScriptAttributes) SetValue(value interface{})
type ScriptAttributesModifier ¶
type ScriptAttributesModifier func(attributes *ScriptAttributes)
type ScriptAttributesModifiers ¶
type ScriptAttributesModifiers []ScriptAttributesModifier
type SortOption ¶
type SortOption func(*sortOptions)
type TextAttributes ¶
type TextAttributes struct { // The text of the text node. // // required: true Text *text.Message `json:"text"` // A unique identifier // // required: true Identifier string `json:"id"` // NodeType represents this node's types. It is a mirror of `node.type` and // is primarily used to allow compatibility with OpenAPI 3.0. // // required: true NodeType Type `json:"node_type"` }
TextAttributes represents the attributes of a text node.
swagger:model uiNodeTextAttributes
func (*TextAttributes) GetNodeType ¶
func (a *TextAttributes) GetNodeType() Type
func (*TextAttributes) GetValue ¶
func (a *TextAttributes) GetValue() interface{}
func (*TextAttributes) ID ¶
func (a *TextAttributes) ID() string
func (*TextAttributes) Reset ¶
func (a *TextAttributes) Reset()
func (*TextAttributes) SetValue ¶
func (a *TextAttributes) SetValue(value interface{})