-
Notifications
You must be signed in to change notification settings - Fork 2
/
drawOnMapMenu.puml
91 lines (77 loc) · 2.33 KB
/
drawOnMapMenu.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
@startuml
title Draw on the Map for a selsection
hide footbox
== click on Button to open draw menu ==
[-> vfw.js ++: DrawOnMapMenu
note left: drawfilter_open()
vfw.js -> vfw.js: drawfilter_open()
' checkSiblings checks what is clicked
menu_objects.js -> menu_objects.js ++: showSelectionOnMap
group ajax
menu_objects.js -> views.py ++: **ajax**\nfilter_selection_map
views.py -> views.py ++: MenuView.build_selection
views.py -> filter.py ++: build_id_list
loop parents in selection
loop childs in selection
opt draw: pass
else bool
filter.py -> filter.py: build_path_value_pair
else else
filter.py -> filter.py: build_path_value_pair
end
end
end
views.py <- filter.py : ""filtered ids""
deactivate filter.py
views.py -> query_functions.py ++: get_bbox_from_data
views.py <- query_functions.py --
opt if layer exists delete layer
views.py -> geoserver_layer.py ++: get_layer
return
views.py -> geoserver_layer.py ++: delete_layer
return
end
views.py -> geoserver_layer.py ++: create_layer
return
menu_objects.js <- views.py --: ""layername, ext, ids""
deactivate views.py
deactivate menu_objects.js
end
menu_objects.js -> menu_objects.js ++: getCountFromServer
group ajax
menu_objects.js -> views.py ++: **ajax**\nfilter_selection
views.py -> filter.py ++: FilterMethods.selection_counts
filter.py -> filter.py ++: build_select_filters
loop parents in filter_selection
note right: filter_selection build the query filter
loop childs in filter_selection
filter.py -> filter.py: build_path_value_pair
end
end
loop parents in long_filter
loop childs in long_filter
note left: long_filter used to show \navailable datasets\n for the next selection
filter.py -> filter.py: build_path_value_pair
end
end
deactivate filter.py
loop parent in menu
loop child in menu
filter.py -> filter.py: count items
end
end
views.py <- filter.py --: ""result (counts)""
menu_objects.js <- views.py --: ""JSON (counts)""
menu_objects.js -> menu_objects.js ++: _updateCounts(json)
loop
loop
menu_objects.js -> menu_objects.js: update html \ndis-/enable buttons
end
end
deactivate menu_objects.js
deactivate menu_objects.js
deactivate menu_objects.js
end
[<- menu_objects.js
@enduml
-----------------------------------------------------------------------