Browse Source

Retain stocks order by default

Svilen Markov 1 year ago
parent
commit
948c117f5b
2 changed files with 9 additions and 1 deletions
  1. 4 0
      docs/configuration.md
  2. 5 1
      internal/widget/stocks.go

+ 4 - 0
docs/configuration.md

@@ -831,6 +831,7 @@ Preview:
 | Name | Type | Required |
 | ---- | ---- | -------- |
 | stocks | array | yes |
+| sort | string | no |
 
 ##### `stocks`
 An array of stocks for which to display information about.
@@ -849,6 +850,9 @@ The symbol, as seen in Yahoo Finance.
 
 The name that will be displayed under the symbol.
 
+##### `sort-by`
+By default the stocks are displayed in the order they were defined. You can customize their ordering by setting the `sort-by` property to `absolute-change` for descending order based on the stock's absolute price change.
+
 ### Twitch Channels
 Display a list of channels from Twitch.
 

+ 5 - 1
internal/widget/stocks.go

@@ -12,6 +12,7 @@ import (
 type Stocks struct {
 	widgetBase `yaml:",inline"`
 	Stocks     feed.Stocks         `yaml:"-"`
+	Sort       string              `yaml:"sort-by"`
 	Tickers    []feed.StockRequest `yaml:"stocks"`
 }
 
@@ -28,7 +29,10 @@ func (widget *Stocks) Update(ctx context.Context) {
 		return
 	}
 
-	stocks.SortByAbsChange()
+	if widget.Sort == "absolute-change" {
+		stocks.SortByAbsChange()
+	}
+
 	widget.Stocks = stocks
 }