Documentation
¶
Index ¶
Constants ¶
View Source
const ( CopyAction = "copy" OpenAction = "open" PushAction = "push" ExecAction = "exec" PasteAction = "paste" ReloadAction = "reload" FetchAction = "fetch" EvalAction = "eval" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
Title string `json:"title,omitempty"`
Type ActionType `json:"type"`
Key string `json:"key,omitempty"`
Inputs []Input `json:"inputs,omitempty"`
// copy
Text string `json:"text,omitempty"`
// open
Target string `json:"target,omitempty"`
// push
Page string `json:"page,omitempty"`
// fetch
Request *Request `json:"request,omitempty"`
// eval
Code *Expression `json:"expression,omitempty"`
// run
Command *Command `json:"command,omitempty"`
OnSuccess OnSuccessType `json:"onSuccess,omitempty"`
Exit bool `json:"-"`
}
type ActionType ¶
type ActionType string
type Command ¶ added in v0.9.0
type Command struct {
Name string `json:"name"`
Args []string `json:"args,omitempty"`
Input string `json:"input,omitempty"`
Dir string `json:"dir,omitempty"`
}
func (*Command) UnmarshalJSON ¶ added in v0.9.0
type DropDownItem ¶ added in v0.9.0
type Expression ¶
func (Expression) Request ¶
func (e Expression) Request() *Request
func (*Expression) UnmarshalJSON ¶
func (e *Expression) UnmarshalJSON(data []byte) error
type FormInputType ¶
type FormInputType string
const ( TextFieldInput FormInputType = "textfield" TextAreaInput FormInputType = "textarea" DropDownInput FormInputType = "dropdown" CheckboxInput FormInputType = "checkbox" )
type Input ¶ added in v0.7.0
type Input struct {
Name string `json:"name"`
Type FormInputType `json:"type"`
Title string `json:"title"`
Placeholder string `json:"placeholder,omitempty"`
Default any `json:"default,omitempty"`
Optional bool `json:"optional,omitempty"`
// Only for dropdown
Items []DropDownItem `json:"items,omitempty"`
// Only for checkbox
Label string `json:"label,omitempty"`
TrueSubstitution string `json:"trueSubstitution,omitempty"`
FalseSubstitution string `json:"falseSubstitution,omitempty"`
}
func NewDropDown ¶ added in v0.9.23
func NewDropDown(name string, title string, items ...DropDownItem) Input
func NewTextAreaInput ¶ added in v0.9.23
type OnSuccessType ¶
type OnSuccessType string
const ( CopyOnSuccess OnSuccessType = "copy" PasteOnSuccess OnSuccessType = "paste" OpenOnSuccess OnSuccessType = "open" ReloadOnSuccess OnSuccessType = "reload" )
type Page ¶
type Page struct {
Type PageType `json:"type"`
Title string `json:"title,omitempty"`
Actions []Action `json:"actions,omitempty"`
// form
SubmitAction *Action `json:"submitAction,omitempty"`
// Detail page
Text string `json:"text,omitempty"`
Command *Command `json:"command,omitempty"`
Request *Request `json:"request,omitempty"`
Expression *Expression `json:"expression,omitempty"`
// List page
ShowDetail bool `json:"showDetail,omitempty"`
OnQueryChange *TextProvider `json:"onQueryChange,omitempty"`
EmptyView *EmptyView `json:"emptyView,omitempty"`
Items []ListItem `json:"items,omitempty"`
}
type Request ¶
type TextProvider ¶
type TextProvider struct {
Text string `json:"text,omitempty"`
Command *Command `json:"command,omitempty"`
Request *Request `json:"request,omitempty"`
Expression *Expression `json:"expression,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.