feat: Kontextabhängige Karten-Kategorien im Lagebild
Neue Keys (primary/secondary/tertiary/mentioned) mit dynamischen Labels aus category_labels API-Feld. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -683,19 +683,28 @@ var Lagebild = {
|
|||||||
|
|
||||||
// Kategorie-Farben
|
// Kategorie-Farben
|
||||||
var categoryColors = {
|
var categoryColors = {
|
||||||
target: '#ef4444',
|
primary: '#ef4444',
|
||||||
retaliation: '#f59e0b',
|
secondary: '#f59e0b',
|
||||||
response: '#f59e0b',
|
tertiary: '#3b82f6',
|
||||||
actor: '#3b82f6',
|
|
||||||
mentioned: '#7b7b7b'
|
mentioned: '#7b7b7b'
|
||||||
};
|
};
|
||||||
var categoryLabels = {
|
var defaultCategoryLabels = {
|
||||||
target: 'Angegriffene Ziele',
|
primary: 'Hauptgeschehen',
|
||||||
retaliation: 'Vergeltung / Eskalation',
|
secondary: 'Reaktionen',
|
||||||
response: 'Reaktion / Gegenmassnahmen',
|
tertiary: 'Beteiligte',
|
||||||
actor: 'Strategische Akteure',
|
|
||||||
mentioned: 'Erwaehnt'
|
mentioned: 'Erwaehnt'
|
||||||
};
|
};
|
||||||
|
// Dynamische Labels aus API verwenden (falls vorhanden)
|
||||||
|
var categoryLabels = {};
|
||||||
|
if (this.data && this.data.category_labels) {
|
||||||
|
var apiLabels = this.data.category_labels;
|
||||||
|
categoryLabels.primary = apiLabels.primary || defaultCategoryLabels.primary;
|
||||||
|
categoryLabels.secondary = apiLabels.secondary || defaultCategoryLabels.secondary;
|
||||||
|
categoryLabels.tertiary = apiLabels.tertiary || defaultCategoryLabels.tertiary;
|
||||||
|
categoryLabels.mentioned = apiLabels.mentioned || defaultCategoryLabels.mentioned;
|
||||||
|
} else {
|
||||||
|
categoryLabels = defaultCategoryLabels;
|
||||||
|
}
|
||||||
|
|
||||||
// Locations aus API-Daten laden
|
// Locations aus API-Daten laden
|
||||||
var locs = (this.data && this.data.locations) ? this.data.locations : [];
|
var locs = (this.data && this.data.locations) ? this.data.locations : [];
|
||||||
@@ -728,8 +737,8 @@ var Lagebild = {
|
|||||||
var div = L.DomUtil.create('div', 'map-legend');
|
var div = L.DomUtil.create('div', 'map-legend');
|
||||||
div.style.cssText = 'background:#151D2E;padding:10px 14px;border-radius:4px;border:1px solid #1E2D45;box-shadow:0 2px 8px rgba(0,0,0,0.3);font-size:0.8rem;line-height:1.8;color:#E8ECF4;';
|
div.style.cssText = 'background:#151D2E;padding:10px 14px;border-radius:4px;border:1px solid #1E2D45;box-shadow:0 2px 8px rgba(0,0,0,0.3);font-size:0.8rem;line-height:1.8;color:#E8ECF4;';
|
||||||
var html = '<strong style="color:#C8A851;">Legende</strong><br>';
|
var html = '<strong style="color:#C8A851;">Legende</strong><br>';
|
||||||
['target', 'response', 'retaliation', 'actor', 'mentioned'].forEach(function(cat) {
|
['primary', 'secondary', 'tertiary', 'mentioned'].forEach(function(cat) {
|
||||||
if (usedCategories[cat]) {
|
if (usedCategories[cat] && categoryLabels[cat]) {
|
||||||
html += '<span style="color:' + categoryColors[cat] + ';">●</span> ' + categoryLabels[cat] + '<br>';
|
html += '<span style="color:' + categoryColors[cat] + ';">●</span> ' + categoryLabels[cat] + '<br>';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren