-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathmodel.puml
69 lines (48 loc) · 1.12 KB
/
model.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
@startuml
title the component model
class AemContext {
wcmmode: string;
cqHidden?: boolean;
path: string;
resource: Resource;
registry: RootComponentRegistry;
}
class AemComponent {
getResource(): Resource
getPath(): string
getResourceType(): string
getWcmmode(): string
isCqHidden(): boolean
setAllEditableVisible(path: string, visible: boolean)
}
AemComponent -> AemContext : context
class Resource {
"sling:resourceType": string;
}
class ResourceProps<R extends Resource> {
resource?: C;
component?: string;
path: string;
root?: boolean;
wcmmode?: string;
cqHidden?: boolean;
}
ResourceProps -> Resource : resource
class ResourceComponent<R extends Resource> extends AemComponent{
renderBody()
}
note left of ResourceComponent
ResourceComponent has type parameters:
- Resource
- ResourceProps
- State
end note
ResourceComponent -> ResourceProps : props
class MyComponent<MyResource> extends ResourceComponent {
getResource():MyResource
}
class MyResource extends Resource {
}
MyComponent --> ResourceProps : props
MyComponent .> MyResource
@enduml