Hauptseite: Unterschied zwischen den Versionen
Aus Dokumentation
| Zeile 118: | Zeile 118: | ||
{{Projektbaum}} | {{Projektbaum}} | ||
</div> | </div> | ||
| − | {{ | + | |
| + | <!------------------------------------------------------------------------------------> | ||
| + | |||
| + | {{Card-Box-Blue | ||
|Titel=Webinare | |Titel=Webinare | ||
|Inhalt = | |Inhalt = | ||
| Zeile 131: | Zeile 134: | ||
var WEBINARE = [ | var WEBINARE = [ | ||
{ titel: 'Kanabis Release V11', datum: '28.01.2026', tag: 'kanabis', link: 'Kanabis_Webinare#Release_V11_Webinar_vom_28.01.26' }, | { titel: 'Kanabis Release V11', datum: '28.01.2026', tag: 'kanabis', link: 'Kanabis_Webinare#Release_V11_Webinar_vom_28.01.26' }, | ||
| − | { titel: 'Betriebsfuehrung: Digital \x26 Bedarfsorientiert', datum: '17.12.2025', tag: 'togo', link: 'ToGo-Erneuerungen#Betriebsf.C3.BChrung:_Digital_.26_Bedarfsorientiert_-_Webinar_vom_17.12.2025' }, | + | { titel: 'Betriebsfuehrung: Digital \x26 Bedarfsorientiert - Luenen', datum: '17.12.2025', tag: 'togo', link: 'ToGo-Erneuerungen#Betriebsf.C3.BChrung:_Digital_.26_Bedarfsorientiert_-_Webinar_vom_17.12.2025' }, |
| − | { titel: 'Automatische Kanalsanierungsplanung', datum: '12.11.2025', tag: 'kasa', link: 'Automatische_Kanalsanierungsplanung' }, | + | { titel: 'Automatische Kanalsanierungsplanung / Aquadocs', datum: '12.11.2025', tag: 'kasa', link: 'Automatische_Kanalsanierungsplanung' }, |
{ titel: 'DWA A 118 / DWA M 119 - Ueberstau \x26 Risikomanagement', datum: '08.10.2025', tag: 'hydraulik', link: 'Schutzkategorien_%26_%C3%9Cberflutungsgef%C3%A4hrdung#Webinar:_.C3.9Cberstau_.26_Risikomanagment_-_DWA_A_118_.2F_DWA_M_119_vom_08.10.2025' }, | { titel: 'DWA A 118 / DWA M 119 - Ueberstau \x26 Risikomanagement', datum: '08.10.2025', tag: 'hydraulik', link: 'Schutzkategorien_%26_%C3%9Cberflutungsgef%C3%A4hrdung#Webinar:_.C3.9Cberstau_.26_Risikomanagment_-_DWA_A_118_.2F_DWA_M_119_vom_08.10.2025' }, | ||
{ titel: 'V17 - Releasenews', datum: '04.06.2025', tag: 'release', link: 'Release_News_Version_17#Release_Webinar_V17' }, | { titel: 'V17 - Releasenews', datum: '04.06.2025', tag: 'release', link: 'Release_News_Version_17#Release_Webinar_V17' }, | ||
| Zeile 140: | Zeile 143: | ||
{ titel: 'AQUA++ - Theorie, Modellierung und Fehlersuche', datum: '19.02.2025', tag: 'aqua', link: 'AQUA%2B%2B_Webinare#Webinar_vom_19.02.2025' }, | { titel: 'AQUA++ - Theorie, Modellierung und Fehlersuche', datum: '19.02.2025', tag: 'aqua', link: 'AQUA%2B%2B_Webinare#Webinar_vom_19.02.2025' }, | ||
{ titel: 'ToGo - Digitalisierung im Kanalbetrieb', datum: '19.12.2024', tag: 'togo', link: 'ToGo-Erneuerungen#Digitalisierung_im_Kanalbetrieb_-_Webinar_vom_19.12.2024' }, | { titel: 'ToGo - Digitalisierung im Kanalbetrieb', datum: '19.12.2024', tag: 'togo', link: 'ToGo-Erneuerungen#Digitalisierung_im_Kanalbetrieb_-_Webinar_vom_19.12.2024' }, | ||
| − | { titel: ' | + | { titel: 'Datenubernahme aus bestehenden GIS-Systemen', datum: '06.11.2024', tag: 'allgemein', link: 'Daten%C3%BCbernahme_Strakat' }, |
{ titel: 'KI in der Zustandserfassung', datum: '09.10.2024', tag: 'kasa', link: 'KI_Zustandserfassung' }, | { titel: 'KI in der Zustandserfassung', datum: '09.10.2024', tag: 'kasa', link: 'KI_Zustandserfassung' }, | ||
{ titel: 'INSIDe-Projekt', datum: '02.10.2024', tag: 'allgemein', link: 'Inside_Forschungsprojekt' }, | { titel: 'INSIDe-Projekt', datum: '02.10.2024', tag: 'allgemein', link: 'Inside_Forschungsprojekt' }, | ||
| Zeile 146: | Zeile 149: | ||
{ titel: 'V16 - Zeichentool', datum: '27.06.2024', tag: 'release', link: 'Zeichen-Tool#Webinar_vom_27.06.2024' }, | { titel: 'V16 - Zeichentool', datum: '27.06.2024', tag: 'release', link: 'Zeichen-Tool#Webinar_vom_27.06.2024' }, | ||
{ titel: 'V16 - Geo3D Erneuerungen', datum: '25.06.2024', tag: 'geocpm', link: 'Geo3D-Allgemein#Webinar_vom_25.06.2024' }, | { titel: 'V16 - Geo3D Erneuerungen', datum: '25.06.2024', tag: 'geocpm', link: 'Geo3D-Allgemein#Webinar_vom_25.06.2024' }, | ||
| − | { titel: 'V16 - GeoCPM Neuerungen: Durchlaesse', datum: '20.06.2024', tag: 'geocpm', link: 'Durchlass_GeoCPM#Durchl%C3%A4sse_-_Webinar_vom_20.06.2024' }, | + | { titel: 'V16 - GeoCPM Neuerungen: Durchlaesse, Video', datum: '20.06.2024', tag: 'geocpm', link: 'Durchlass_GeoCPM#Durchl%C3%A4sse_-_Webinar_vom_20.06.2024' }, |
{ titel: 'V16 - Releasenews', datum: '18.06.2024', tag: 'release', link: 'Release_News#Release_Webinar_vom_18.06.2024' }, | { titel: 'V16 - Releasenews', datum: '18.06.2024', tag: 'release', link: 'Release_News#Release_Webinar_vom_18.06.2024' }, | ||
| − | { titel: 'GeoCPM - | + | { titel: 'GeoCPM - Tipps \x26 Tricks DGM-Ausduennung', datum: '24.04.2024', tag: 'geocpm', link: 'Optimierung_durch_Ausd%C3%BCnnung#Ausd.C3.BCnnungsalgorithmen_-_Webinar_vom_24.04.2024' }, |
{ titel: 'Kanabis Release V10', datum: '09.04.2024', tag: 'kanabis', link: 'KANABIS-Vergangene_Webinare#Release_V10_Webinar_vom_09.04.2024' }, | { titel: 'Kanabis Release V10', datum: '09.04.2024', tag: 'kanabis', link: 'KANABIS-Vergangene_Webinare#Release_V10_Webinar_vom_09.04.2024' }, | ||
{ titel: 'WIKI - Umfrage \x26 Erneuerungen', datum: '20.03.2024', tag: 'allgemein', link: 'Wiki#Webinar_vom_20.03.2024' }, | { titel: 'WIKI - Umfrage \x26 Erneuerungen', datum: '20.03.2024', tag: 'allgemein', link: 'Wiki#Webinar_vom_20.03.2024' }, | ||
| − | { titel: 'GeoCPM - Sturzflut-Risikomanagement Bayern', datum: '16.11.2023', tag: 'geocpm', link: 'Erneuerungen_GeoCPM#Webinar_vom_16.11.2023' }, | + | { titel: 'GeoCPM - Kommunales Sturzflut-Risikomanagement Bayern', datum: '16.11.2023', tag: 'geocpm', link: 'Erneuerungen_GeoCPM#Webinar_vom_16.11.2023' }, |
{ titel: 'Flow V15: Neuerungen', datum: '09.11.2023', tag: 'flow', link: 'Bilanzierung_des_Zentralbeckens#Webinar_vom_09.11.2023' }, | { titel: 'Flow V15: Neuerungen', datum: '09.11.2023', tag: 'flow', link: 'Bilanzierung_des_Zentralbeckens#Webinar_vom_09.11.2023' }, | ||
{ titel: 'GeoCPM Best Practice V15: Strukturen', datum: '02.11.2023', tag: 'geocpm', link: 'Erneuerungen_GeoCPM#Webinar_vom_02.11.2023' }, | { titel: 'GeoCPM Best Practice V15: Strukturen', datum: '02.11.2023', tag: 'geocpm', link: 'Erneuerungen_GeoCPM#Webinar_vom_02.11.2023' }, | ||
| Zeile 159: | Zeile 162: | ||
{ titel: 'Neuerungen KASAnova', datum: '01.12.2022', tag: 'kasa', link: 'Kasanova_Erneuerungen#Webinar:_Kanalzustand_und_Sanierung_am_01.12.2022' }, | { titel: 'Neuerungen KASAnova', datum: '01.12.2022', tag: 'kasa', link: 'Kasanova_Erneuerungen#Webinar:_Kanalzustand_und_Sanierung_am_01.12.2022' }, | ||
{ titel: 'Release Version 14.10.00: Main', datum: '24.11.2022', tag: 'release', link: 'Vergangene_Erneuerungen#Webinar_vom_24.11.2022' }, | { titel: 'Release Version 14.10.00: Main', datum: '24.11.2022', tag: 'release', link: 'Vergangene_Erneuerungen#Webinar_vom_24.11.2022' }, | ||
| − | { titel: 'Genauigkeit von Gelaendemodellen', datum: '03.05.2022', tag: 'geocpm', link: 'Optimierung_durch_Ausd%C3%BCnnung#Genauigkeit_von_Gel.C3.A4ndemodellen_-_Webinar_vom_03.05.2022' }, | + | { titel: 'Genauigkeit von Gelaendemodellen \x26 Tipps', datum: '03.05.2022', tag: 'geocpm', link: 'Optimierung_durch_Ausd%C3%BCnnung#Genauigkeit_von_Gel.C3.A4ndemodellen_-_Webinar_vom_03.05.2022' }, |
{ titel: 'A102 \x26 Flow \x26 Practice', datum: '05.04.2022', tag: 'flow', link: 'DWA_A102#Webinar_-_Flow_.26_DWA_A102_Practice' }, | { titel: 'A102 \x26 Flow \x26 Practice', datum: '05.04.2022', tag: 'flow', link: 'DWA_A102#Webinar_-_Flow_.26_DWA_A102_Practice' }, | ||
{ titel: 'Radolan Daten fuer GeoCPM', datum: '22.03.2022', tag: 'geocpm', link: 'Aquazis#Webinar_vom_22.03.2022' }, | { titel: 'Radolan Daten fuer GeoCPM', datum: '22.03.2022', tag: 'geocpm', link: 'Aquazis#Webinar_vom_22.03.2022' }, | ||
| Zeile 177: | Zeile 180: | ||
{ titel: '++SYSTEMS Kanalzustand und Sanierung', datum: '10.03.2021', tag: 'kasa', link: 'Kasanova_Erneuerungen#Webinar:_Kanalzustand_und_Sanierung_am_10.03.2021' }, | { titel: '++SYSTEMS Kanalzustand und Sanierung', datum: '10.03.2021', tag: 'kasa', link: 'Kasanova_Erneuerungen#Webinar:_Kanalzustand_und_Sanierung_am_10.03.2021' }, | ||
{ titel: 'Multi-User-Plattformen', datum: '03.03.2021', tag: 'allgemein', link: 'Datenbanken#Multi-User-Plattformen-Webinar_vom_03.03.2021' }, | { titel: 'Multi-User-Plattformen', datum: '03.03.2021', tag: 'allgemein', link: 'Datenbanken#Multi-User-Plattformen-Webinar_vom_03.03.2021' }, | ||
| − | { titel: 'Erneuerungen und Best-Practice | + | { titel: 'Erneuerungen und Best-Practice', datum: '17.02.2021', tag: 'release', link: 'Vergangene_Erneuerungen#Webinar_vom_17.02.2021' }, |
{ titel: 'Entwurfsplanung', datum: '09.12.2020', tag: 'hydraulik', link: 'Entwurfsplanung_Webinar' }, | { titel: 'Entwurfsplanung', datum: '09.12.2020', tag: 'hydraulik', link: 'Entwurfsplanung_Webinar' }, | ||
| − | { titel: 'GeoCPM Best Practice | + | { titel: 'GeoCPM Best Practice und Erneuerungen', datum: '03.12.2020', tag: 'geocpm', link: 'GeoCPM_Vergangene_Erneuerungen#Webinar_vom_03.12.2020' }, |
{ titel: 'Vom Radar zum Simulationsergebnis I', datum: '02.12.2020', tag: 'geocpm', link: 'Einbinden_von_Radardaten' }, | { titel: 'Vom Radar zum Simulationsergebnis I', datum: '02.12.2020', tag: 'geocpm', link: 'Einbinden_von_Radardaten' }, | ||
{ titel: 'Vom Radar zum Simulationsergebnis II', datum: '24.11.2020', tag: 'geocpm', link: 'Einbinden_von_Radardaten' }, | { titel: 'Vom Radar zum Simulationsergebnis II', datum: '24.11.2020', tag: 'geocpm', link: 'Einbinden_von_Radardaten' }, | ||
| Zeile 191: | Zeile 194: | ||
{ titel: 'Starkregenrisikomanagement LUBW II', datum: '29.05.2019', tag: 'geocpm', link: 'Starkregen_Risikomanagement_Baden_W%C3%BCrttemberg_LUBW#Webinar_LUBW_II' }, | { titel: 'Starkregenrisikomanagement LUBW II', datum: '29.05.2019', tag: 'geocpm', link: 'Starkregen_Risikomanagement_Baden_W%C3%BCrttemberg_LUBW#Webinar_LUBW_II' }, | ||
{ titel: 'Bruchkanten', datum: '22.05.2019', tag: 'geocpm', link: 'Bruchkanten#Vorgehen_Bruchkanten_GeoCPM' }, | { titel: 'Bruchkanten', datum: '22.05.2019', tag: 'geocpm', link: 'Bruchkanten#Vorgehen_Bruchkanten_GeoCPM' }, | ||
| − | { titel: '++SYSTEMS Projektdateimanagement | + | { titel: '++SYSTEMS Projektdateimanagement', datum: '15.05.2019', tag: 'allgemein', link: 'Vergleichs-_und_Importkonfiguration#Webinar_vom_15.05.2019' }, |
{ titel: 'Koordinatentransformation', datum: '30.04.2019', tag: 'allgemein', link: 'Koordinatentransformation#Webinar_vom_30.04.2019' }, | { titel: 'Koordinatentransformation', datum: '30.04.2019', tag: 'allgemein', link: 'Koordinatentransformation#Webinar_vom_30.04.2019' }, | ||
{ titel: 'Planausgabe', datum: '10.04.2019', tag: 'allgemein', link: 'Plankonfigurationen#Planausgabe_Webinar_vom_10.04.2018' }, | { titel: 'Planausgabe', datum: '10.04.2019', tag: 'allgemein', link: 'Plankonfigurationen#Planausgabe_Webinar_vom_10.04.2018' }, | ||
| Zeile 201: | Zeile 204: | ||
{ titel: 'KASAnova 2.0 - Sanierungsmodul neu aufgelegt', datum: '18.04.2018', tag: 'kasa', link: 'Kasanova_Erneuerungen#Webinar:_KASAnova_2.0_-_Das_Sanierungsmodul_neu_aufgelegt_am_18.04.2018' }, | { titel: 'KASAnova 2.0 - Sanierungsmodul neu aufgelegt', datum: '18.04.2018', tag: 'kasa', link: 'Kasanova_Erneuerungen#Webinar:_KASAnova_2.0_-_Das_Sanierungsmodul_neu_aufgelegt_am_18.04.2018' }, | ||
{ titel: 'DYNA - Rechnet nicht', datum: '21.03.2018', tag: 'hydraulik', link: 'DYNA-Fehlerbehebung' }, | { titel: 'DYNA - Rechnet nicht', datum: '21.03.2018', tag: 'hydraulik', link: 'DYNA-Fehlerbehebung' }, | ||
| − | { titel: 'Datenbanken | + | { titel: 'Datenbanken', datum: '07.03.2018', tag: 'allgemein', link: 'Datenbanken#Datenbanken-Webinar_vom_07.03.2020' }, |
{ titel: 'Starkregenrisikomanagement LUBW I', datum: '19.07.2017', tag: 'geocpm', link: 'Starkregen_Risikomanagement_Baden_W%C3%BCrttemberg_LUBW#Webinar_LUBW_I' }, | { titel: 'Starkregenrisikomanagement LUBW I', datum: '19.07.2017', tag: 'geocpm', link: 'Starkregen_Risikomanagement_Baden_W%C3%BCrttemberg_LUBW#Webinar_LUBW_I' }, | ||
{ titel: 'Erneuerung mit Flow++', datum: '10.05.2017', tag: 'flow', link: 'Erneuerung_mit_Flow%2B%2B' }, | { titel: 'Erneuerung mit Flow++', datum: '10.05.2017', tag: 'flow', link: 'Erneuerung_mit_Flow%2B%2B' }, | ||
| Zeile 233: | Zeile 236: | ||
if (document.getElementById('vg-styles')) return; | if (document.getElementById('vg-styles')) return; | ||
var css = [ | var css = [ | ||
| − | '#vg-container{font-family:sans-serif;margin:1rem 0}', | + | '#vg-container { font-family: sans-serif; margin: 1rem 0; }', |
| − | '#vg-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}', | + | '#vg-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; }', |
| − | '#vg-suche{flex:1;min-width:180px;padding:6px 10px;border:1px solid #ccc;border-radius:6px;font-size:13px}', | + | '#vg-suche { flex: 1; min-width: 180px; padding: 6px 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 13px; }', |
| − | '.vg-filter-btn{padding:4px 12px;border-radius:20px;border:1px solid #ccc;background:#f8f8f8;font-size:12px;cursor:pointer}', | + | '.vg-filter-btn { padding: 4px 12px; border-radius: 20px; border: 1px solid #ccc; background: #f8f8f8; font-size: 12px; cursor: pointer; transition: all .15s; }', |
| − | '.vg-filter-btn.aktiv{color:#fff;border-color:transparent}', | + | '.vg-filter-btn.aktiv { color: #fff; border-color: transparent; }', |
| − | '#vg-anzahl{font-size:12px;color:#888;margin-bottom:8px}', | + | '#vg-anzahl { font-size: 12px; color: #888; margin-bottom: 8px; }', |
| − | '#vg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax( | + | '#vg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }', |
| − | '.vg-karte{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;background:#fff}', | + | '.vg-karte { border: 1px solid #e0e0e0; border-radius: 10px; overflow: hidden; background: #fff; transition: box-shadow .15s; }', |
| − | '.vg-karte:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}', | + | '.vg-karte:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); }', |
| − | '.vg-thumb{width:100%;aspect-ratio:16/9;background:#f0f0f4;display:flex;align-items:center;justify-content:center;position:relative;text-decoration:none}', | + | '.vg-thumb { width: 100%; aspect-ratio: 16/9; background: #f0f0f4; display: flex; align-items: center; justify-content: center; position: relative; text-decoration: none; }', |
| − | '.vg-icon{font-size:32px;color:#999}', | + | '.vg-icon { font-size: 32px; color: #999; }', |
| − | '.vg-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:12px;color:#fff;font-weight:500}', | + | '.vg-badge { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 12px; color: #fff; font-weight: 500; }', |
| − | '.vg-body{padding:10px 12px 12px}', | + | '.vg-body { padding: 10px 12px 12px; }', |
| − | '.vg-titel{font-size:13px;font-weight:600;color:#222;line-height:1.4;margin:6px 0 4px}', | + | '.vg-titel { font-size: 13px; font-weight: 600; color: #222; line-height: 1.4; margin: 6px 0 4px; }', |
| − | '.vg-datum{font-size:11px;color:#888}', | + | '.vg-datum { font-size: 11px; color: #888; }', |
| − | '.vg-leer{text-align:center;padding:2rem;color:#888;font-size:14px;grid-column:1/-1}', | + | '.vg-leer { text-align: center; padding: 2rem; color: #888; font-size: 14px; grid-column: 1 / -1; }', |
].join('\n'); | ].join('\n'); | ||
| − | var | + | var style = document.createElement('style'); |
| − | + | style.id = 'vg-styles'; | |
| − | + | style.textContent = css; | |
| − | document.head.appendChild( | + | document.head.appendChild(style); |
} | } | ||
function baueGalerie(container) { | function baueGalerie(container) { | ||
injizierCSS(); | injizierCSS(); | ||
| − | + | var html = '<div id="vg-container">'; | |
| − | var html = '<div id="vg-container"><div id="vg-controls">'; | + | html += '<div id="vg-controls">'; |
html += '<input id="vg-suche" type="text" placeholder="Webinar suchen..." />'; | html += '<input id="vg-suche" type="text" placeholder="Webinar suchen..." />'; | ||
Object.keys(TAGS).forEach(function (key) { | Object.keys(TAGS).forEach(function (key) { | ||
| Zeile 265: | Zeile 268: | ||
html += '<button class="vg-filter-btn' + (key === 'alle' ? ' aktiv' : '') + '" data-tag="' + key + '"' + stil + '>' + t.label + '</button>'; | html += '<button class="vg-filter-btn' + (key === 'alle' ? ' aktiv' : '') + '" data-tag="' + key + '"' + stil + '>' + t.label + '</button>'; | ||
}); | }); | ||
| − | html += '</div><div id="vg-anzahl"></div><div id="vg-grid"></div></div>'; | + | html += '</div>'; |
| + | html += '<div id="vg-anzahl"></div>'; | ||
| + | html += '<div id="vg-grid"></div>'; | ||
| + | html += '</div>'; | ||
container.innerHTML = html; | container.innerHTML = html; | ||
| + | var aktuellerTag = 'alle'; | ||
var suchfeld = document.getElementById('vg-suche'); | var suchfeld = document.getElementById('vg-suche'); | ||
var grid = document.getElementById('vg-grid'); | var grid = document.getElementById('vg-grid'); | ||
| Zeile 275: | Zeile 282: | ||
var tagOk = aktuellerTag === 'alle' || w.tag === aktuellerTag; | var tagOk = aktuellerTag === 'alle' || w.tag === aktuellerTag; | ||
var suchOk = !q || w.titel.toLowerCase().indexOf(q) > -1; | var suchOk = !q || w.titel.toLowerCase().indexOf(q) > -1; | ||
| − | return tagOk | + | return tagOk && suchOk; |
}); | }); | ||
anzahl.textContent = gefiltert.length + ' Webinar' + (gefiltert.length !== 1 ? 'e' : ''); | anzahl.textContent = gefiltert.length + ' Webinar' + (gefiltert.length !== 1 ? 'e' : ''); | ||
| Zeile 284: | Zeile 291: | ||
grid.innerHTML = gefiltert.map(function (w) { | grid.innerHTML = gefiltert.map(function (w) { | ||
var farbe = TAGS[w.tag] ? TAGS[w.tag].farbe : '#666699'; | var farbe = TAGS[w.tag] ? TAGS[w.tag].farbe : '#666699'; | ||
| − | var | + | var tagLabel = TAGS[w.tag] ? TAGS[w.tag].label : w.tag; |
| − | var url = '/index.php?title=' + encodeURIComponent(w.link); | + | var url = (typeof mw !== 'undefined') ? mw.util.getUrl(w.link) : ('/index.php?title=' + encodeURIComponent(w.link)); |
| − | return '<div class="vg-karte">' | + | return [ |
| − | '<a class="vg-thumb" href="' + url + '"><span class="vg-icon">\x26#9654;</span></a>' | + | '<div class="vg-karte">', |
| − | '<div class="vg-body">' | + | ' <a class="vg-thumb" href="' + url + '"><span class="vg-icon">\x26#9654;</span></a>', |
| − | '<span class="vg-badge" style="background:' + farbe + '">' + | + | ' <div class="vg-body">', |
| − | '<p class="vg-titel">' + w.titel + '</p>' | + | ' <span class="vg-badge" style="background:' + farbe + '">' + tagLabel + '</span>', |
| − | '<p class="vg-datum">' + w.datum + '</p>' | + | ' <p class="vg-titel">' + w.titel + '</p>', |
| − | '</div></div>'; | + | ' <p class="vg-datum">' + w.datum + '</p>', |
| − | }).join(''); | + | ' </div>', |
| + | '</div>', | ||
| + | ].join('\n'); | ||
| + | }).join('\n'); | ||
} | } | ||
| − | document. | + | document.querySelectorAll('.vg-filter-btn').forEach(function (btn) { |
| − | + | btn.addEventListener('click', function () { | |
| − | + | aktuellerTag = btn.getAttribute('data-tag'); | |
| − | + | document.querySelectorAll('.vg-filter-btn').forEach(function (b) { | |
| − | + | b.classList.remove('aktiv'); | |
| − | + | b.style.background = ''; | |
| − | + | b.style.color = ''; | |
| − | + | b.style.borderColor = ''; | |
| − | + | }); | |
| + | btn.classList.add('aktiv'); | ||
| + | var farbe = TAGS[aktuellerTag] ? TAGS[aktuellerTag].farbe : '#666699'; | ||
| + | btn.style.background = farbe; | ||
| + | btn.style.color = '#fff'; | ||
| + | btn.style.borderColor = farbe; | ||
| + | renderKarten(); | ||
}); | }); | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
}); | }); | ||
suchfeld.addEventListener('input', renderKarten); | suchfeld.addEventListener('input', renderKarten); | ||
| Zeile 323: | Zeile 333: | ||
</script> | </script> | ||
</html> | </html> | ||
| − | + | ||
| − | < | + | |
| + | |||
| + | <!------------------------------------------------------------------------------------> | ||
<div class="row"> | <div class="row"> | ||
Version vom 1. September 2026, 16:20 Uhr
Allgemeines
Schritt-für-Schritt Anleitungen
Projektbaum
Webinare