diff --git a/loko/assets/static/assets/asset_symbology.js b/loko/assets/static/assets/asset_symbology.js
index 58c532a..e126065 100644
--- a/loko/assets/static/assets/asset_symbology.js
+++ b/loko/assets/static/assets/asset_symbology.js
@@ -1075,70 +1075,40 @@
],
paint: {
'circle-radius': [
- 'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- [
- 'case',
- isNatureExpr,
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 8,
- 11, 13,
- 13, 17,
- 15, 23,
- 17, 30,
- 19, 38,
- 22, 48
- ],
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 10,
- 11, 15,
- 13, 20,
- 15, 26,
- 17, 34,
- 19, 44,
- 22, 56
- ]
- ],
- 0
+ 'interpolate', ['linear'], ['zoom'],
+ 8, ['case', isNatureExpr, 8, 10],
+ 11, ['case', isNatureExpr, 13, 15],
+ 13, ['case', isNatureExpr, 17, 20],
+ 15, ['case', isNatureExpr, 23, 26],
+ 17, ['case', isNatureExpr, 30, 34],
+ 19, ['case', isNatureExpr, 38, 44],
+ 22, ['case', isNatureExpr, 48, 56]
],
'circle-color': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- '#ffd600',
- ['boolean', ['feature-state', 'highlighted'], false],
- '#fde047',
- 'transparent'
+ ['boolean', ['feature-state', 'selected'], false], '#ffd600',
+ '#fde047'
],
'circle-opacity': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- 0.95,
- ['boolean', ['feature-state', 'highlighted'], false],
- 0.85,
+ ['boolean', ['feature-state', 'selected'], false], 0.95,
+ ['boolean', ['feature-state', 'highlighted'], false], 0.85,
0
],
'circle-stroke-color': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- '#78350f',
- ['boolean', ['feature-state', 'highlighted'], false],
- '#b45309',
- 'transparent'
+ ['boolean', ['feature-state', 'selected'], false], '#78350f',
+ '#b45309'
],
'circle-stroke-width': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- 4.5,
- ['boolean', ['feature-state', 'highlighted'], false],
- 3,
+ ['boolean', ['feature-state', 'selected'], false], 4.5,
+ ['boolean', ['feature-state', 'highlighted'], false], 3,
0
],
'circle-stroke-opacity': [
'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- 1.0,
+ ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 1.0,
0
],
},
diff --git a/loko/assets/static/assets/unified_index.js b/loko/assets/static/assets/unified_index.js
index 25eb6fe..8526b5d 100644
--- a/loko/assets/static/assets/unified_index.js
+++ b/loko/assets/static/assets/unified_index.js
@@ -2108,7 +2108,18 @@ function focusRowInUnifiedTable(rowRef) {
const $row = $table.find(`tbody tr[data-index="${rowIndex}"]`);
if ($row.length) {
$row.find('td').addClass('rowhighlight');
- $row[0].scrollIntoView({ behavior: 'smooth', block: 'center' });
+ const container = $table.closest('.fixed-table-body')[0] || $table.parent()[0];
+ if (container && $row[0]) {
+ const containerRect = container.getBoundingClientRect();
+ const rowRect = $row[0].getBoundingClientRect();
+ const relativeTop = rowRect.top - containerRect.top + container.scrollTop;
+ const targetScrollTop = Math.max(0, relativeTop - (container.clientHeight / 2) + (rowRect.height / 2));
+ if (typeof container.scrollTo === 'function') {
+ container.scrollTo({ top: targetScrollTop, behavior: 'smooth' });
+ } else {
+ container.scrollTop = targetScrollTop;
+ }
+ }
}
}, 250);
}
diff --git a/loko/assets/static/assets/unified_map_layers.js b/loko/assets/static/assets/unified_map_layers.js
index 881dd11..cfb38a3 100644
--- a/loko/assets/static/assets/unified_map_layers.js
+++ b/loko/assets/static/assets/unified_map_layers.js
@@ -557,20 +557,10 @@ const _unified_locations_circle = {
], // ne pas rendre de cercles aux vertex des polygones ni aux radars
paint: {
'circle-radius': [
- 'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- [
- 'interpolate', ['linear'], ['zoom'],
- 7, 5,
- 14, 10,
- 19, 18
- ],
- [
- 'interpolate', ['linear'], ['zoom'],
- 7, 2,
- 14, 5,
- 19, 10
- ]
+ 'interpolate', ['linear'], ['zoom'],
+ 7, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 5, 2],
+ 14, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 10, 5],
+ 19, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 18, 10]
],
// Colour by building usage_type or intersection status
'circle-color': [
@@ -1013,22 +1003,11 @@ const _unified_sign_poles_circle = {
filter: ['==', ['get', 'asset_type'], 'signpole'],
paint: {
'circle-radius': [
- 'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 4 * UNIFIED_SIGN_SYMBOL_SCALE,
- 13, 8 * UNIFIED_SIGN_SYMBOL_SCALE,
- 17, 14 * UNIFIED_SIGN_SYMBOL_SCALE,
- 22, 18 * UNIFIED_SIGN_SYMBOL_SCALE
- ],
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 1.5 * UNIFIED_SIGN_SYMBOL_SCALE,
- 13, 3 * UNIFIED_SIGN_SYMBOL_SCALE,
- 17, 5 * UNIFIED_SIGN_SYMBOL_SCALE,
- 22, 6 * UNIFIED_SIGN_SYMBOL_SCALE
- ]
+ 'interpolate', ['linear'], ['zoom'],
+ 8, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 4 * UNIFIED_SIGN_SYMBOL_SCALE, 1.5 * UNIFIED_SIGN_SYMBOL_SCALE],
+ 13, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 8 * UNIFIED_SIGN_SYMBOL_SCALE, 3 * UNIFIED_SIGN_SYMBOL_SCALE],
+ 17, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 14 * UNIFIED_SIGN_SYMBOL_SCALE, 5 * UNIFIED_SIGN_SYMBOL_SCALE],
+ 22, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 18 * UNIFIED_SIGN_SYMBOL_SCALE, 6 * UNIFIED_SIGN_SYMBOL_SCALE]
],
'circle-color': [
'case',
@@ -1042,14 +1021,9 @@ const _unified_sign_poles_circle = {
'#333333'
],
'circle-stroke-width': [
- 'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- 4 * UNIFIED_SIGN_SYMBOL_SCALE,
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 0,
- 13, 1 * UNIFIED_SIGN_SYMBOL_SCALE
- ]
+ 'interpolate', ['linear'], ['zoom'],
+ 8, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 4 * UNIFIED_SIGN_SYMBOL_SCALE, 0],
+ 13, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 4 * UNIFIED_SIGN_SYMBOL_SCALE, 1 * UNIFIED_SIGN_SYMBOL_SCALE]
]
},
minzoom: 8,
@@ -1224,70 +1198,40 @@ const _unified_assets_point_selection = (typeof AssetSymbology !== 'undefined' &
],
paint: {
'circle-radius': [
- 'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- [
- 'case',
- ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']],
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 8,
- 11, 13,
- 13, 17,
- 15, 23,
- 17, 30,
- 19, 38,
- 22, 48
- ],
- [
- 'interpolate', ['linear'], ['zoom'],
- 8, 10,
- 11, 15,
- 13, 20,
- 15, 26,
- 17, 34,
- 19, 44,
- 22, 56
- ]
- ],
- 0
+ 'interpolate', ['linear'], ['zoom'],
+ 8, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 8, 10],
+ 11, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 13, 15],
+ 13, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 17, 20],
+ 15, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 23, 26],
+ 17, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 30, 34],
+ 19, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 38, 44],
+ 22, ['case', ['any', ['==', ['get', 'asset_type'], 'naturetree'], ['==', ['get', 'asset_type'], 'natureshrub'], ['==', ['get', 'thematic'], 'nature']], 48, 56]
],
'circle-color': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- '#ffd600',
- ['boolean', ['feature-state', 'highlighted'], false],
- '#fde047',
- 'transparent'
+ ['boolean', ['feature-state', 'selected'], false], '#ffd600',
+ '#fde047'
],
'circle-opacity': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- 0.95,
- ['boolean', ['feature-state', 'highlighted'], false],
- 0.85,
+ ['boolean', ['feature-state', 'selected'], false], 0.95,
+ ['boolean', ['feature-state', 'highlighted'], false], 0.85,
0
],
'circle-stroke-color': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- '#78350f',
- ['boolean', ['feature-state', 'highlighted'], false],
- '#b45309',
- 'transparent'
+ ['boolean', ['feature-state', 'selected'], false], '#78350f',
+ '#b45309'
],
'circle-stroke-width': [
'case',
- ['boolean', ['feature-state', 'selected'], false],
- 4.5,
- ['boolean', ['feature-state', 'highlighted'], false],
- 3,
+ ['boolean', ['feature-state', 'selected'], false], 4.5,
+ ['boolean', ['feature-state', 'highlighted'], false], 3,
0
],
'circle-stroke-opacity': [
'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- 1.0,
+ ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 1.0,
0
],
},
@@ -1306,18 +1250,9 @@ const _unified_assets_point = {
],
paint: {
'circle-radius': [
- 'case',
- ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]],
- [
- 'interpolate', ['linear'], ['zoom'],
- 10, 8,
- 18, 16
- ],
- [
- 'interpolate', ['linear'], ['zoom'],
- 10, 4,
- 18, 8
- ]
+ 'interpolate', ['linear'], ['zoom'],
+ 10, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 8, 4],
+ 18, ['case', ['any', ['boolean', ['feature-state', 'highlighted'], false], ['boolean', ['feature-state', 'selected'], false]], 16, 8]
],
'circle-color': [
'case',
diff --git a/loko/assets/templates/assets/unified_index.html b/loko/assets/templates/assets/unified_index.html
index ef75829..f2edf0d 100644
--- a/loko/assets/templates/assets/unified_index.html
+++ b/loko/assets/templates/assets/unified_index.html
@@ -1636,7 +1636,7 @@
-
-
-
+
+
+
{% endblock script %}
\ No newline at end of file