GetSettingsMetadata returns metadata for all settings organized by category. The result is computed once and cached since metadata is static.
()
| 373 | // GetSettingsMetadata returns metadata for all settings organized by category. |
| 374 | // The result is computed once and cached since metadata is static. |
| 375 | func GetSettingsMetadata() map[string][]SettingMeta { |
| 376 | settingsMetadataOnce.Do(func() { |
| 377 | s := DefaultSettings() |
| 378 | cachedSettingsMetadata = make(map[string][]SettingMeta) |
| 379 | for _, cat := range s.CategoriesList { |
| 380 | list := make([]SettingMeta, 0, len(cat.Settings)) |
| 381 | for _, set := range cat.Settings { |
| 382 | list = append(list, SettingMeta{ |
| 383 | Key: set.Key, |
| 384 | Label: set.Label, |
| 385 | Description: set.Description, |
| 386 | Type: set.Type, |
| 387 | RequiresRestart: set.NeedsRestart, |
| 388 | }) |
| 389 | } |
| 390 | cachedSettingsMetadata[cat.Name] = list |
| 391 | } |
| 392 | }) |
| 393 | return cachedSettingsMetadata |
| 394 | } |
| 395 | |
| 396 | // CategoryOrder returns the display order of settings categories. |
| 397 | func CategoryOrder() []string { |