-
Notifications
You must be signed in to change notification settings - Fork 17
/
clientside.puml
47 lines (34 loc) · 1.02 KB
/
clientside.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
@startuml
title client-side component management
class ResourceComponent{
}
class Instance {
path: string;
node: any
props: any
componentClass: any
rerender(extraProps: any): void
reload(): void
rerenderByResource(resource: aem.Resource): void
}
Instance -up-> ResourceComponent : component
note bottom of Instance
There is an Instance wrapping each root react component.
The instance provides methods to rerender the component
with new props.
end note
class ComponentManager {
getInstance(path: string): Instance
getNestedInstances(path: string): [Instance]
reloadComponent(path: string): void
getParentInstance(path: string): Instance
reloadRoot(path: string): void
reloadRootInCq(path: string): void
setNestedInstancesVisible(path: string, visible: boolean): void
}
ComponentManager -up-> Instance : instances
note bottom of ComponentManager
The ComponentManager provides access to all existing Instances.
Also provides methods to create and update instances.
end note
@enduml