Documentation ¶
Index ¶
- Constants
- Variables
- func CenterText(str string, width int) string
- func ColorFor(label string) tcell.Color
- func ConfigDir() (string, error)
- func CreateConfigDir()
- func CreateFile(fileName string) (string, error)
- func Exclude(strs []string, val string) bool
- func ExecuteCommand(cmd *exec.Cmd) string
- func ExpandHomeDir(path string) (string, error)
- func Home() (string, error)
- func IsToday(date time.Time) bool
- func LoadConfigFile(filePath string) *config.Config
- func NameFromEmail(email string) string
- func NamesFromEmails(emails []string) []string
- func NewBillboardModal(text string, closeFunc func()) *tview.Frame
- func Now() time.Time
- func OpenFile(path string)
- func PadRow(offset int, view *tview.TextView) string
- func PrettyDate(dateStr string) string
- func ReadConfigFile(fileName string) (string, error)
- func ReadFileBytes(filePath string) ([]byte, error)
- func RightAlignFormat(view *tview.TextView) string
- func RowColor(module string, idx int) string
- func Schedule(widget Scheduler)
- func ToInts(slice []interface{}) []int
- func ToStrs(slice []interface{}) []string
- func Tomorrow() time.Time
- func UnixTime(unix int64) time.Time
- func WriteConfigFile()
- type Enabler
- type FocusState
- type FocusTracker
- type Position
- type Scheduler
- type TextWidget
- type Wtfable
Constants ¶
const DateFormat = "2006-01-02"
DateFormat defines the format we expect to receive dates from BambooHR in
const FriendlyDateTimeFormat = "Mon, Jan 2, 15:04"
const SimpleDateFormat = "Jan 2"
const SimpleTimeFormat = "15:04 MST"
const TimeFormat = "15:04"
const TimestampFormat = "2006-01-02T15:04:05-0700"
Variables ¶
var Colors = map[string]tcell.Color{}/* 140 elements not displayed */
var Config *config.Config
Functions ¶
func CenterText ¶
func CreateConfigDir ¶
func CreateConfigDir()
CreateConfigDir creates the .wtf directory in the user's home dir
func CreateFile ¶
CreateFile creates the named file in the config directory, if it does not already exist. If the file exists it does not recreate it. If successful, eturns the absolute path to the file If unsuccessful, returns an error
func ExecuteCommand ¶
func ExpandHomeDir ¶
Expand expands the path to include the home directory if the path is prefixed with `~`. If it isn't prefixed with `~`, the path is returned as-is.
func Home ¶
Dir returns the home directory for the executing user. An error is returned if a home directory cannot be detected.
func LoadConfigFile ¶
LoadConfigFile loads the config.yml file to configure the app
func NameFromEmail ¶
func NamesFromEmails ¶
func NewBillboardModal ¶
func OpenFile ¶
func OpenFile(path string)
OpenFile opens the file defined in `path` via the operating system
func PadRow ¶
PadRow returns a padding for a row to make it the full width of the containing widget. Useful for ensurig row highlighting spans the full width (I suspect tcell has a better way to do this, but I haven't yet found it)
func PrettyDate ¶
func ReadConfigFile ¶
func ReadFileBytes ¶
func RightAlignFormat ¶
func WriteConfigFile ¶
func WriteConfigFile()
WriteConfigFile creates a simple config file in the config directory if one does not already exist
Types ¶
type FocusTracker ¶
type FocusTracker struct { App *tview.Application Idx int Widgets []Wtfable }
FocusTracker is used by the app to track which onscreen widget currently has focus, and to move focus between widgets.
func (*FocusTracker) Next ¶
func (tracker *FocusTracker) Next()
Next sets the focus on the next widget in the widget list. If the current widget is the last widget, sets focus on the first widget.
func (*FocusTracker) None ¶
func (tracker *FocusTracker) None()
None removes focus from the currently-focused widget.
func (*FocusTracker) Prev ¶
func (tracker *FocusTracker) Prev()
Prev sets the focus on the previous widget in the widget list. If the current widget is the last widget, sets focus on the last widget.
func (*FocusTracker) Refocus ¶
func (tracker *FocusTracker) Refocus()
type TextWidget ¶
type TextWidget struct { Name string RefreshedAt time.Time RefreshInt int View *tview.TextView Position // contains filtered or unexported fields }
func NewTextWidget ¶
func NewTextWidget(name string, configKey string, focusable bool) TextWidget
func (*TextWidget) BorderColor ¶
func (widget *TextWidget) BorderColor() string
func (*TextWidget) Disabled ¶
func (widget *TextWidget) Disabled() bool
func (*TextWidget) Enabled ¶
func (widget *TextWidget) Enabled() bool
func (*TextWidget) Focusable ¶
func (widget *TextWidget) Focusable() bool
func (*TextWidget) RefreshInterval ¶
func (widget *TextWidget) RefreshInterval() int
func (*TextWidget) TextView ¶
func (widget *TextWidget) TextView() *tview.TextView