1
1
const helpers = require ( './helpers.js' )
2
2
3
3
module . exports = {
4
- locateUser : ( renderer = 'button' ) => {
4
+ locateUser : ( options ) => {
5
+ // renderer: renderer to be used to display the action
6
+ const renderer = options ?. renderer || 'button'
5
7
return {
6
8
id : 'locate-user' ,
7
9
label : renderer === 'item' ? 'layout.SHOW_USER_LOCATION' : null ,
@@ -14,7 +16,11 @@ module.exports = {
14
16
component : 'tools/KGeolocateTool'
15
17
}
16
18
} ,
17
- searchLocation : ( renderer = 'button' , mode = 'search-location' ) => {
19
+ activeLocationSearchMode : ( options ) => {
20
+ // renderer: renderer to be used to display the action
21
+ // mode: the mode used to declare the measure tool
22
+ const renderer = options ?. renderer || 'button'
23
+ const mode = options ?. mode || 'search-location'
18
24
return {
19
25
id : 'search-location' ,
20
26
icon : 'las la-search-location' ,
@@ -24,7 +30,26 @@ module.exports = {
24
30
renderer
25
31
}
26
32
} ,
27
- measureTool : ( renderer = 'item' , mode = 'measure-tool' ) => {
33
+ locationSearchMode : ( options ) => {
34
+ // geocoders: geocoders array to be used as the sources
35
+ // restoreMode: mode to be restored when closing the mode
36
+ const geocoders = options ?. geocoders || [ ]
37
+ const restoreMode = options ?. restoreMode || 'default'
38
+ return [
39
+ module . exports . restoreMode ( { mode : restoreMode , icon : options ?. icon , tooltip : options ?. tooltip } ) ,
40
+ helpers . verticalSeparator ( ) ,
41
+ {
42
+ component : 'tools/KSearchTool' ,
43
+ geocoders,
44
+ autofocus : true
45
+ }
46
+ ]
47
+ } ,
48
+ activeMeasureToolMode : ( options ) => {
49
+ // renderer: renderer to be used to display the action
50
+ // mode: the mode used to declare the location search
51
+ const renderer = options ?. renderer || 'item'
52
+ const mode = options ?. mode || 'measure-tool'
28
53
return {
29
54
id : 'measure-tool' ,
30
55
icon : 'las la-ruler-combined' ,
@@ -34,7 +59,18 @@ module.exports = {
34
59
renderer
35
60
}
36
61
} ,
37
- toggleLegend : ( renderer = 'item' ) => {
62
+ measureToolMode : ( options ) => {
63
+ // restoreMode: mode to be restored when closing the mode
64
+ const restoreMode = options ?. restoreMode || 'default'
65
+ return [
66
+ module . exports . restoreMode ( { mode : restoreMode , icon : options ?. icon , tooltip : options ?. tooltip } ) ,
67
+ helpers . verticalSeparator ( ) ,
68
+ { component : 'KMeasureTool' }
69
+ ]
70
+ } ,
71
+ toggleLegend : ( options ) => {
72
+ // renderer: renderer to be used to display the action
73
+ const renderer = options ?. renderer || 'item'
38
74
return helpers . toggleWidget ( {
39
75
widgetId : 'legend-widget' ,
40
76
icon : 'las la-atlas' ,
@@ -43,7 +79,9 @@ module.exports = {
43
79
renderer
44
80
} )
45
81
} ,
46
- toggleTimeSeries : ( renderer = 'item' ) => {
82
+ toggleTimeSeries : ( options ) => {
83
+ // renderer: renderer to be used to display the action
84
+ const renderer = options ?. renderer || 'item'
47
85
return helpers . toggleWidget ( {
48
86
widgetId : 'time-series-widget' ,
49
87
icon : 'las la-chart-line' ,
@@ -52,7 +90,9 @@ module.exports = {
52
90
renderer
53
91
} )
54
92
} ,
55
- togglePosition : ( renderer = 'item' ) => {
93
+ togglePosition : ( options ) => {
94
+ // renderer: renderer to be used to display the action
95
+ const renderer = options ?. renderer || 'item'
56
96
return helpers . toggleSticky ( {
57
97
stickyId : 'position-sticky' ,
58
98
icon : 'las la-plus' ,
@@ -61,7 +101,9 @@ module.exports = {
61
101
renderer
62
102
} )
63
103
} ,
64
- toggleNorthArrow : ( renderer = 'item' ) => {
104
+ toggleNorthArrow : ( options ) => {
105
+ // renderer: renderer to be used to display the action
106
+ const renderer = options ?. renderer || 'item'
65
107
return helpers . toggleSticky ( {
66
108
stickyId : 'north-arrow-sticky' ,
67
109
icon : 'las la-location-arrow' ,
@@ -70,7 +112,9 @@ module.exports = {
70
112
renderer
71
113
} )
72
114
} ,
73
- toggleFullscreen : ( renderer = 'item' ) => {
115
+ toggleFullscreen : ( options ) => {
116
+ // renderer: renderer to be used to display the action
117
+ const renderer = options ?. renderer || 'item'
74
118
return {
75
119
id : 'toggle-fullscreen' ,
76
120
component : 'action/KToggleFullscreenAction' ,
@@ -86,15 +130,17 @@ module.exports = {
86
130
}
87
131
} ,
88
132
restoreMode : ( options ) => {
89
- // mode: mode to be restored
133
+ // mode: mode to be restored. By default: 'default'
90
134
// icon: icon to be displayed, default is `las la-times`
91
135
// tooltip: tooltip to be displayed
92
- const params = Object . assign ( { icon : "las la-times" } , options )
136
+ const mode = options ?. mode || 'default'
137
+ const icon = options ?. icon || 'las la-times'
138
+ const tooltip = options ?. tooltip || null
93
139
return {
94
- id : `restore-${ params . mode } ` ,
95
- icon : params . icon ,
96
- tooltip : params . tooltip ,
97
- handler : { name : 'setTopPaneMode' , params : [ params . mode ] }
140
+ id : `restore-${ mode } ` ,
141
+ icon,
142
+ tooltip,
143
+ handler : { name : 'setTopPaneMode' , params : [ mode ] }
98
144
}
99
145
}
100
146
}
0 commit comments