74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
### Strategies:
|
|
```plantuml
|
|
@startuml
|
|
class StratUIManager {
|
|
- workspaceManager
|
|
- targetEl
|
|
- formElement
|
|
--
|
|
+ initUI(targetId, formElId)
|
|
+ displayForm(action, strategyData = null)
|
|
+ hideForm()
|
|
+ updateStrategiesHtml(strategies)
|
|
+ toggleFeeInput()
|
|
+ registerDeleteStrategyCallback(callback)
|
|
}
|
|
|
|
class StratDataManager {
|
|
- strategies
|
|
--
|
|
+ fetchSavedStrategies(comms, data)
|
|
+ addNewStrategy(data)
|
|
+ updateStrategyData(data)
|
|
+ removeStrategy(name)
|
|
+ applyBatchUpdates(data)
|
|
+ getAllStrategies()
|
|
}
|
|
|
|
class StratWorkspaceManager {
|
|
- workspace
|
|
- blocksDefined
|
|
- MAX_TOP_LEVEL_BLOCKS
|
|
--
|
|
+ initWorkspace()
|
|
- loadModulesAndInitWorkspace()
|
|
+ adjustWorkspace()
|
|
+ compileStrategyJson()
|
|
- generateStrategyJsonFromWorkspace()
|
|
- categorizeOrphanedBlocks(workspace)
|
|
- createStrategyJson(initializationBlocks, actionBlocks)
|
|
+ loadWorkspaceFromXml(workspaceXmlText)
|
|
}
|
|
|
|
class Strategies {
|
|
- dataManager
|
|
- workspaceManager
|
|
- uiManager
|
|
- comms
|
|
- data
|
|
- _initialized
|
|
--
|
|
+ initialize(targetId, formElId, data)
|
|
+ handleStrategyError(errorData)
|
|
+ handleStrategies(data)
|
|
+ handleStrategyCreated(data)
|
|
+ handleStrategyUpdated(data)
|
|
+ handleStrategyDeleted(data)
|
|
+ handleUpdates(data)
|
|
+ resizeWorkspace()
|
|
+ generateStrategyJson()
|
|
+ restoreWorkspaceFromXml(workspaceXmlText)
|
|
+ submitStrategy(action)
|
|
+ deleteStrategy(name)
|
|
}
|
|
|
|
' Relationships
|
|
Strategies --> StratDataManager
|
|
Strategies --> StratWorkspaceManager
|
|
Strategies --> StratUIManager
|
|
StratUIManager --> StratWorkspaceManager
|
|
|
|
@enduml
|
|
|
|
|
|
... |