Skip to content

Commit c599d83

Browse files
committed
wip: Provide ready-made configuration snippets to help set up the app's configuration file #1140
1 parent f905620 commit c599d83

File tree

1 file changed

+60
-14
lines changed

1 file changed

+60
-14
lines changed

extras/configs/panes.top.js

+60-14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
const helpers = require('./helpers.js')
22

33
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'
57
return {
68
id: 'locate-user',
79
label: renderer === 'item' ? 'layout.SHOW_USER_LOCATION' : null,
@@ -14,7 +16,11 @@ module.exports = {
1416
component: 'tools/KGeolocateTool'
1517
}
1618
},
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'
1824
return {
1925
id: 'search-location',
2026
icon: 'las la-search-location',
@@ -24,7 +30,26 @@ module.exports = {
2430
renderer
2531
}
2632
},
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'
2853
return {
2954
id: 'measure-tool',
3055
icon: 'las la-ruler-combined',
@@ -34,7 +59,18 @@ module.exports = {
3459
renderer
3560
}
3661
},
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'
3874
return helpers.toggleWidget({
3975
widgetId: 'legend-widget',
4076
icon: 'las la-atlas',
@@ -43,7 +79,9 @@ module.exports = {
4379
renderer
4480
})
4581
},
46-
toggleTimeSeries: (renderer = 'item') => {
82+
toggleTimeSeries: (options) => {
83+
// renderer: renderer to be used to display the action
84+
const renderer = options?.renderer || 'item'
4785
return helpers.toggleWidget({
4886
widgetId: 'time-series-widget',
4987
icon: 'las la-chart-line',
@@ -52,7 +90,9 @@ module.exports = {
5290
renderer
5391
})
5492
},
55-
togglePosition: (renderer = 'item') => {
93+
togglePosition: (options) => {
94+
// renderer: renderer to be used to display the action
95+
const renderer = options?.renderer || 'item'
5696
return helpers.toggleSticky({
5797
stickyId: 'position-sticky',
5898
icon: 'las la-plus',
@@ -61,7 +101,9 @@ module.exports = {
61101
renderer
62102
})
63103
},
64-
toggleNorthArrow: (renderer = 'item') => {
104+
toggleNorthArrow: (options) => {
105+
// renderer: renderer to be used to display the action
106+
const renderer = options?.renderer || 'item'
65107
return helpers.toggleSticky({
66108
stickyId: 'north-arrow-sticky',
67109
icon: 'las la-location-arrow',
@@ -70,7 +112,9 @@ module.exports = {
70112
renderer
71113
})
72114
},
73-
toggleFullscreen: (renderer = 'item') => {
115+
toggleFullscreen: (options) => {
116+
// renderer: renderer to be used to display the action
117+
const renderer = options?.renderer || 'item'
74118
return {
75119
id: 'toggle-fullscreen',
76120
component: 'action/KToggleFullscreenAction',
@@ -86,15 +130,17 @@ module.exports = {
86130
}
87131
},
88132
restoreMode: (options) => {
89-
// mode: mode to be restored
133+
// mode: mode to be restored. By default: 'default'
90134
// icon: icon to be displayed, default is `las la-times`
91135
// 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
93139
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] }
98144
}
99145
}
100146
}

0 commit comments

Comments
 (0)