1.6 KiB
1.6 KiB
Strategies:
@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
...