{"version":3,"mappings":"wcAUA,MAAMA,EAAgB,CACpB,UAAW,GACX,kBAAmB,GACnB,WAAY,0BACZ,gBAAiB,cAEjB,WAAY,gDACZ,kBAAmB,IACnB,cAAe,IACf,SAAU,cACV,SAAU,cACV,OAAQ,sBACR,aAAc,wBACd,iBAAkB,GAClB,QAAS,uBACT,kBAAmB,CAAC,gBAAiB,iBAAiB,EACtD,QAAS,CACP,KAAM,kEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,eAAgB,CACd,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,OAAQ,CACN,CACE,MAAO,QACP,MAAO,MACP,KAAM,cACN,aAAc,GACd,WAAY,oBACZ,WAAY,CACV,CACE,aAAc,qBACd,QAAS,CACP,KAAM,OACN,YAAa,GACb,KAAM,aACR,CACF,CACF,EACA,SAAU,EACZ,CACF,EACA,SAAU,kBACV,OAAQ,CACN,KAAM,CAAC,aAAc,YAAY,EACjC,MAAO,CACL,CACE,MAAO,cACP,OAAQ,CAAC,eAAgB,aAAc,aAAc,YAAY,EACjE,OAAQ,wBACV,EACA,CACE,MAAO,kBACP,OAAQ,CACN,UACA,UACA,WACA,WACA,YACA,QACF,EACA,OAAQ,EACV,EACA,CACE,MAAO,KACP,OAAQ,CAAC,QAAQ,EACjB,OAAQ,EACV,EACA,CACE,MAAO,MACP,OAAQ,CAAC,SAAS,EAClB,OAAQ,EACV,CACF,CACF,EACA,OAAQ,gBACR,mBAAoB,CAClB,aAAc,CACZ,MAAO,EACP,MAAO,mBACP,UAAW,OACX,MAAO,CACL,KAAM,eACN,MAAO,OACP,EAAG,GACH,EAAG,EACL,CACF,EACA,aAAc,CACZ,MAAO,EACP,MAAO,mBACP,UAAW,OACX,MAAO,CACL,KAAM,eACN,MAAO,OACP,EAAG,GACH,EAAG,EACL,CACF,EACA,aAAc,CACZ,MAAO,EACP,MAAO,uBACP,UAAW,OACX,MAAO,CACL,KAAM,eACN,MAAO,OACP,EAAG,GACH,EAAG,EACL,CACF,EACA,eAAgB,CACd,MAAO,EACP,MAAO,uBACP,UAAW,OACX,MAAO,CACL,KAAM,WACN,MAAO,OACP,EAAG,GACH,EAAG,EACL,CACF,EACA,SAAU,CACR,MAAO,EACP,MAAO,UACP,UAAW,OACX,MAAO,CACL,KAAM,KACN,YAAa,cACf,CACF,EACA,SAAU,CACR,MAAO,EACP,UAAW,OACX,MAAO,CACL,KAAM,KACN,YAAa,cACf,CACF,EACA,UAAW,CACT,MAAO,EACP,MAAO,UACP,UAAW,OACX,MAAO,CACL,KAAM,MACN,YAAa,wBACf,CACF,EACA,UAAW,CACT,MAAO,EACP,UAAW,OACX,MAAO,CACL,KAAM,MACN,YAAa,wBACf,CACF,EACA,UAAW,CACT,MAAO,EACP,UAAW,OACX,MAAO,CACL,KAAM,MACN,YAAa,wBACf,CACF,EACA,WAAY,CACV,MAAO,EACP,UAAW,OACX,MAAO,CACL,KAAM,OACN,YAAa,yBACf,CACF,EACA,WAAY,CACV,MAAO,EACP,UAAW,OACX,MAAO,CACL,KAAM,OACN,YAAa,yBACf,CACF,EACA,YAAa,CACX,MAAO,EACP,UAAW,OACX,MAAO,CACL,KAAM,QACN,YAAa,0BACf,CACF,CACF,CACF,EAEMC,EAAe,CACnB,UAAW,GACX,kBAAmB,GACnB,WAAY,yBACZ,WAAY,yBAEZ,WAAY,qDACZ,UAAW,GACX,gBAAiB,mBACjB,kBAAmB,KACnB,iBAAkB,GAClB,aAAc,CACZ,sBAAuB,EACvB,sBAAuB,CACzB,EACA,QAAS,CACP,KAAM,kEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,cAAe,EACf,OAAQ,CACN,CACE,MAAO,QACP,MAAO,MACP,KAAM,eACN,SAAU,GACV,WAAY,yBACZ,WAAY,CACV,CACE,aAAc,cACd,QAAS,CACP,QAAS,CACP,cAAe,CACjB,EACA,KAAM,mBACN,MAAO,KACT,CACF,CACF,CACF,CACF,CACF,EAEMC,GAAc,CAClB,UAAW,GACX,kBAAmB,GACnB,WAAY,uBAEZ,WAAY,mCACZ,UAAW,GACX,gBAAiB,iBACjB,kBAAmB,KACnB,cAAe,EACf,iBAAkB,GAClB,aAAc,CACZ,sBAAuB,EACvB,sBAAuB,CACzB,EACA,QAAS,CACP,KAAM,kEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,OAAQ,CACN,CACE,MAAO,QACP,MAAO,MACP,KAAM,eACN,SAAU,GACV,WAAY,uBACZ,WAAY,CACV,CACE,aAAc,YACd,QAAS,CACP,MAAO,kBACP,QAAS,CACP,cAAe,CACjB,EACA,KAAM,gBACR,CACF,CACF,CACF,CACF,CACF,EAEMC,GAAoB,CACxB,UAAW,GACX,kBAAmB,GACnB,eAAgB,GAEhB,WAAY,iCACZ,UAAW,GACX,cAAe,oBACf,gBAAiB,eACjB,kBAAmB,SACnB,UAAW,SACX,QAAS,CACP,KAAM,kEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,aAAc,CACZ,sBAAuB,EACvB,sBAAuB,CACzB,EACA,cAAe,EACf,OAAQ,CACN,CACE,MAAO,YACP,MAAO,OACP,KAAM,WACN,SAAU,GACV,WAAY,mCACd,CACF,CACF,EAEMC,GAAqB,CACzB,UAAW,GACX,kBAAmB,GACnB,eAAgB,GAEhB,WAAY,iCACZ,UAAW,GACX,cAAe,oBACf,gBAAiB,eACjB,kBAAmB,SACnB,UAAW,SACX,QAAS,CACP,KAAM,kEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,aAAc,CACZ,sBAAuB,EACvB,sBAAuB,CACzB,EACA,cAAe,EACf,OAAQ,CACN,CACE,MAAO,aACP,MAAO,QACP,KAAM,WACN,SAAU,GACV,WAAY,mCACd,CACF,CACF,EAEMC,GAAqB,CACzB,UAAW,GACX,kBAAmB,GACnB,eAAgB,GAEhB,WAAY,iCACZ,UAAW,GACX,cAAe,oBACf,gBAAiB,eACjB,kBAAmB,SACnB,UAAW,SACX,QAAS,CACP,KAAM,kEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,aAAc,CACZ,sBAAuB,EACvB,sBAAuB,CACzB,EACA,cAAe,EACf,OAAQ,CACN,CACE,MAAO,aACP,MAAO,MACP,KAAM,WACN,SAAU,GACV,WAAY,mCACd,CACF,CACF,EAEMC,GAAiB,CACrB,UAAW,GACX,iBAAkB,GAClB,kBAAmB,GACnB,SAAU,KACV,UAAW,GACX,WAAY,2BACZ,UAAW,GACX,gBAAiB,mBAEjB,WAAY,qCACZ,kBAAmB,QACnB,WAAY,6BAEZ,aAAc,CAAC,GAAG,EAClB,QAAS,CACP,KAAM,mEACN,SAAU,CACR,EAAG,IACH,EAAG,GACL,EACA,eAAgB,CACd,EAAG,IACH,EAAG,GACL,EACA,MAAO,CACL,SAAU,MACZ,EACA,KAAM,yCACR,EACA,OAAQ,CACN,CACE,SAAU,GACV,MAAO,QACP,MAAO,MACP,KAAM,kBACN,cAAe,CAAC,eAAe,EAC/B,WAAY,CACV,CACE,aAAc,gBACd,QAAS,CACP,QAAS,CACP,YAAa,SACf,EACA,KAAM,kBACR,CACF,EACA,CACE,aAAc,gBACd,QAAS,CACP,QAAS,CACP,YAAa,UACb,YAAa,UACf,EACA,QAAS,MACT,KAAM,kBACR,CACF,EACA,CACE,iBAAkB,eAClB,iBAAkB,eAClB,QAAS,CACP,UAAW,sBACX,QAAS,CACP,YAAa,UACb,YAAa,UACf,EACA,KAAM,6BACR,CACF,CACF,CACF,CACF,EACA,OAAQ,CACN,KAAM,CAAC,gBAAgB,EACvB,MAAO,CACL,CACE,MAAO,aACP,OAAQ,CAAC,UAAW,UAAW,SAAS,EACxC,OAAQ,EACV,CACF,CACF,EACA,mBAAoB,CAClB,UAAW,CACT,MAAO,EACP,MAAO,iBACP,MAAO,CACL,KAAM,MACN,YAAa,yBACb,MAAO,QACP,EAAG,GACH,EAAG,EACL,CACF,EACA,UAAW,CACT,MAAO,EACP,MAAO,iBACP,MAAO,CACL,KAAM,MACN,YAAa,6BACb,MAAO,QACP,EAAG,GACH,EAAG,EACL,CACF,EACA,UAAW,CACT,MAAO,EACP,MAAO,wBACP,MAAO,CACL,KAAM,MA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","names":["waterlevelCfg","watertempCfg","lufttempCfg","niederschlagCfg6h","niederschlagCfg24h","niederschlagCfg48h","grundwasserCfg","KiMapPopupHdoe","Mix","LitElement","i18nMixin","nls","getConfig","getCurrentApi","val","station","graphComp","html","parameter","title","dayjs","css","__decorateClass","property","customElement","WwpStationDownloadHdoe","location","params","getRouteOptionsAndParams","param","period","field","WwpHdoeKennzahlen","responsiveMixin","_files","ts","fileName","last","orderBy","i","serieslabel","Highcharts","wwpHdoeQuerprofil","self","name","data","color","z","show","new_series","x_max","level_data","chart","e","level","dp","files","crossSectionData","lastlevel","sortBy","WwpHdoeHochwasserbericht","url","d","defaultBericht","item","hochwasserberichte","WwReport","queryParamMixin","value","res","filter","pathArray","date","file","filepath","doc","pdfurl","query","style","WwpHdoeStart","WwpOverview","__body","__html","ifrm","zoom","resize","r","t","unsafeHTML","until","s","copy","LegendFactory","wwHdoeHydrochar","folder","year","month","yearDocs","monthDocs","chr","importActions","__vitePreload","wwAppIndex","LoaderMixin","getRoutes","initConfig","config","initAPI"],"sources":["../../../common/components/ki-map-popup-hdoe.ts","../../../common/components/wwp-station-download-hdoe.ts","../../../common/components/wwp-hdoe-kennzahlen.ts","../../../common/components/wwp-hdoe-querprofil.ts","../../../common/components/wwp-hdoe-hochwasserbericht.ts","../../../common/components/wwp-hdoe-bericht-wasserstand.ts","../../../common/components/wwp-hdoe-start.css.js?used","../../../common/components/wwp-hdoe-start.ts","../../../common/components/ww-hdoe-hydrochar.ts","../../src/import-actions/import-actions.ts","../../src/index.ts"],"sourcesContent":["import { customElement, property } from 'lit/decorators.js';\nimport { css, html, LitElement } from 'lit';\nimport { i18nMixin } from '@kisters/wiski-web/decorators';\nimport dayjs from '@kisters/wiski-web/common/dayjsext';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\nimport '@kisters/wiski-web/components/ki-wwp-graph/ki-wwp-graph-precip';\nimport nls from '@kisters/wiski-web/locales/index';\nimport { getConfig } from '@kisters/wiski-web/components';\nimport { Mix } from '@kisters/wiski-web/common';\n\nconst waterlevelCfg = {\n miniGraph: true,\n showUntilEndOfDay: false,\n imageShare: 'extralarge_ltv_week.png',\n parameter_label: 'Wasserstand',\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} / ${river_name} (Wasserstand)',\n station_parameter: 'S',\n yAxisMinRange: 100,\n yAxisMin: 'w_graph_min',\n yAxisMax: 'w_graph_max',\n progTs: 'web_prognose_ts_new',\n progDuration: 'web_prognose_duration',\n forcePeriodRange: false,\n trendAb: 'web_prognose_trendab',\n additionalTsFiles: ['S/events.json', 'S/forecast.json'],\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n positionMobile: {\n x: -10,\n y: -15,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n ranges: [\n {\n label: 'Woche',\n value: 'P7D',\n data: 'S/week.json',\n showForecast: true,\n yAxisLabel: 'Wasserstand in cm',\n timeseries: [\n {\n ts_shortname: '15m.Cmd.RelAbs.EXP',\n options: {\n type: 'area',\n fillOpacity: 0.5,\n name: 'Wasserstand',\n },\n },\n ],\n selected: true,\n },\n ],\n forecast: 'S/forecast.json',\n alarms: {\n file: ['S/alm.json', 'S/ltv.json'],\n items: [\n {\n label: 'Alarmstufen',\n tsList: ['Cmd.Voralarm', 'Cmd.Alarm1', 'Cmd.Alarm2', 'Cmd.Alarm3'],\n active: 'Wasserstand-Alarmpegel',\n },\n {\n label: 'Alle Kennzahlen',\n tsList: [\n 'Cmd.HW2',\n 'Cmd.HW5',\n 'Cmd.HW10',\n 'Cmd.HW30',\n 'Cmd.HW100',\n 'Cmd.NW',\n ],\n active: false,\n },\n {\n label: 'MW',\n tsList: ['Cmd.MW'],\n active: true,\n },\n {\n label: 'HW1',\n tsList: ['Cmd.HW1'],\n active: true,\n },\n ],\n },\n events: 'S/events.json',\n threshholdMappings: {\n 'Cmd.Alarm1': {\n width: 2,\n color: 'rgb(255, 165, 0)',\n dashStyle: 'dash',\n label: {\n text: 'Alarmstufe 1',\n align: 'left',\n y: 12,\n x: -5,\n },\n },\n 'Cmd.Alarm2': {\n width: 2,\n color: 'rgb(128, 0, 128)',\n dashStyle: 'dash',\n label: {\n text: 'Alarmstufe 2',\n align: 'left',\n y: 12,\n x: -5,\n },\n },\n 'Cmd.Alarm3': {\n width: 2,\n color: 'rgba(252, 81, 47, 1)',\n dashStyle: 'dash',\n label: {\n text: 'Alarmstufe 3',\n align: 'left',\n y: 12,\n x: -5,\n },\n },\n 'Cmd.Voralarm': {\n width: 2,\n color: 'rgba(255, 255, 0, 1)',\n dashStyle: 'dash',\n label: {\n text: 'Voralarm',\n align: 'left',\n y: 12,\n x: -5,\n },\n },\n 'Cmd.MW': {\n width: 2,\n color: '#AAC8FF',\n dashStyle: 'dash',\n label: {\n text: 'MW',\n description: 'Mittelwasser',\n },\n },\n 'Cmd.NW': {\n width: 2,\n dashStyle: 'dash',\n label: {\n text: 'NW',\n description: 'Niederwasser',\n },\n },\n 'Cmd.HW1': {\n width: 2,\n color: '#0000FF',\n dashStyle: 'dash',\n label: {\n text: 'HW1',\n description: '1-jährliche Hochwasser',\n },\n },\n 'Cmd.HW2': {\n width: 2,\n dashStyle: 'dash',\n label: {\n text: 'HW2',\n description: '2-jährliche Hochwasser',\n },\n },\n 'Cmd.HW5': {\n width: 2,\n dashStyle: 'dash',\n label: {\n text: 'HW5',\n description: '5-jährliche Hochwasser',\n },\n },\n 'Cmd.HW10': {\n width: 2,\n dashStyle: 'dash',\n label: {\n text: 'HW10',\n description: '10-jährliche Hochwasser',\n },\n },\n 'Cmd.HW30': {\n width: 2,\n dashStyle: 'dash',\n label: {\n text: 'HW30',\n description: '30-jährliche Hochwasser',\n },\n },\n 'Cmd.HW100': {\n width: 2,\n dashStyle: 'dash',\n label: {\n text: 'HW100',\n description: '100-jährliche Hochwasser',\n },\n },\n },\n};\n\nconst watertempCfg = {\n miniGraph: true,\n showUntilEndOfDay: false,\n imageShare: 'extralarge_wt_week.png',\n yAxisLabel: 'Wassertemperatur in °C',\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} / ${river_name} (Wassertemperatur)',\n tableOpen: false,\n parameter_label: 'Wassertemperatur',\n station_parameter: 'WT',\n forcePeriodRange: false,\n numberFormat: {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n },\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n yAxisMinRange: 8,\n ranges: [\n {\n label: 'Woche',\n value: 'P7D',\n data: 'WT/week.json',\n selected: true,\n yAxisLabel: 'Wassertemperatur in °C',\n timeseries: [\n {\n ts_shortname: '15m.Cmd.EXP',\n options: {\n tooltip: {\n valueDecimals: 1,\n },\n name: 'Wassertemperatur',\n color: 'red',\n },\n },\n ],\n },\n ],\n};\n\nconst lufttempCfg = {\n miniGraph: true,\n showUntilEndOfDay: false,\n yAxisLabel: 'Lufttemperatur in °C',\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} (Lufttemperatur)',\n tableOpen: false,\n parameter_label: 'Lufttemperatur',\n station_parameter: 'AT',\n yAxisMinRange: 8,\n forcePeriodRange: false,\n numberFormat: {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n },\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n ranges: [\n {\n label: 'Woche',\n value: 'P7D',\n data: 'AT/week.json',\n selected: true,\n yAxisLabel: 'Lufttemperatur in °C',\n timeseries: [\n {\n ts_shortname: 'Cmd.P.DEF',\n options: {\n color: 'rgba(203,29,47)',\n tooltip: {\n valueDecimals: 1,\n },\n name: 'Lufttemperatur',\n },\n },\n ],\n },\n ],\n};\n\nconst niederschlagCfg6h = {\n miniGraph: true,\n showUntilEndOfDay: false,\n filterAccuracy: 66,\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} (Niederschlag)',\n tableOpen: false,\n yAxisLabelSum: 'Summenlinie in mm',\n parameter_label: 'Niederschlag',\n station_parameter: 'Precip',\n chartType: 'column',\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n numberFormat: {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n },\n yAxisMinRange: 5,\n ranges: [\n {\n label: '6 Stunden',\n value: 'PT6H',\n data: 'day.json',\n selected: true,\n yAxisLabel: 'Niederschlag in mm pro 15 Minuten',\n },\n ],\n};\n\nconst niederschlagCfg24h = {\n miniGraph: true,\n showUntilEndOfDay: false,\n filterAccuracy: 66,\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} (Niederschlag)',\n tableOpen: false,\n yAxisLabelSum: 'Summenlinie in mm',\n parameter_label: 'Niederschlag',\n station_parameter: 'Precip',\n chartType: 'column',\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n numberFormat: {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n },\n yAxisMinRange: 5,\n ranges: [\n {\n label: '24 Stunden',\n value: 'PT24H',\n data: 'day.json',\n selected: true,\n yAxisLabel: 'Niederschlag in mm pro 15 Minuten',\n },\n ],\n};\n\nconst niederschlagCfg48h = {\n miniGraph: true,\n showUntilEndOfDay: false,\n filterAccuracy: 66,\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} (Niederschlag)',\n tableOpen: false,\n yAxisLabelSum: 'Summenlinie in mm',\n parameter_label: 'Niederschlag',\n station_parameter: 'Precip',\n chartType: 'column',\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n numberFormat: {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n },\n yAxisMinRange: 5,\n ranges: [\n {\n label: '48 Stunden',\n value: 'P2D',\n data: 'day.json',\n selected: true,\n yAxisLabel: 'Niederschlag in mm pro 15 Minuten',\n },\n ],\n};\n\nconst grundwasserCfg = {\n miniGraph: true,\n forcePeriodRange: false,\n showUntilEndOfDay: false,\n zoomType: null,\n favButton: true,\n imageShare: 'extralarge_gws_month.png',\n tableOpen: true,\n parameter_label: 'Grundwasserstand',\n // eslint-disable-next-line no-template-curly-in-string\n graphTitle: '${station_name} (Grundwasserstand)',\n station_parameter: 'GWLVL',\n yAxisLabel: 'Grundwasserstand in m ü.A.',\n\n qCodeExclude: [250],\n credits: {\n text: 'Ungeprüfte Rohdaten
© Amt der OÖ Landesregierung',\n position: {\n x: -10,\n y: -35,\n },\n positionMobile: {\n x: -10,\n y: -15,\n },\n style: {\n fontSize: '10px',\n },\n href: 'https://www.land-oberoesterreich.gv.at/',\n },\n ranges: [\n {\n selected: true,\n label: 'Monat',\n value: 'P1M',\n data: 'GWLVL/week.json',\n tableTemplate: ['h.Cmd.GWS.Web'],\n timeseries: [\n {\n ts_shortname: 'h.Cmd.GWS.Web',\n options: {\n tooltip: {\n valueSuffix: ' m ü.A.',\n },\n name: 'Grundwasserstand',\n },\n },\n {\n ts_shortname: 'Cmd.LTV.DMean',\n options: {\n tooltip: {\n valueSuffix: ' m ü.A.',\n xDateFormat: '%d.%m.%Y',\n },\n opacity: '0.3',\n name: 'langjähr. Mittel',\n },\n },\n {\n ts_shortname_min: 'Cmd.LTV.DMin',\n ts_shortname_max: 'Cmd.LTV.DMax',\n options: {\n lineColor: 'rgba(255,255,255,0)',\n tooltip: {\n valueSuffix: ' m ü.A.',\n xDateFormat: '%d.%m.%Y',\n },\n name: 'langjähr. Minimum - Maximum',\n },\n },\n ],\n },\n ],\n alarms: {\n file: ['GWLVL/ltv.json'],\n items: [\n {\n label: 'Kennzahlen',\n tsList: ['Cmd.HGW', 'Cmd.MGW', 'Cmd.NGW'],\n active: true,\n },\n ],\n },\n threshholdMappings: {\n 'Cmd.HGW': {\n width: 2,\n color: 'rgb(0, 0, 255)',\n label: {\n text: 'HGW',\n description: 'Hoher Grundwasserstand',\n align: 'right',\n y: 12,\n x: -5,\n },\n },\n 'Cmd.MGW': {\n width: 2,\n color: 'rgb(0, 136, 0)',\n label: {\n text: 'MGW',\n description: 'Mittlerer Grundwasserstand',\n align: 'right',\n y: 12,\n x: -5,\n },\n },\n 'Cmd.NGW': {\n width: 2,\n color: 'rgba(255, 136, 68, 1)',\n label: {\n text: 'NGW',\n description: 'Niedriger Grundwasserstand',\n align: 'right',\n y: 12,\n x: -5,\n },\n },\n },\n};\n\n@customElement('ki-map-popup-hdoe')\nexport default class KiMapPopupHdoe extends Mix(LitElement, [\n i18nMixin,\n { nls },\n]) {\n static styles = css`\n :host {\n display: block;\n z-index: 100;\n max-width: 360px;\n background: white;\n overflow: hidden;\n }\n .station-name {\n padding-right: 5px;\n padding-left: 10px;\n padding-top: 10px;\n font-size: 1.2em;\n }\n\n hr {\n margin: 5px 0;\n }\n .table {\n display: table;\n line-height: 1.5em;\n }\n .row {\n display: table-row;\n }\n .cell {\n display: table-cell;\n padding: 0 10px;\n min-width: 50px;\n color: gray;\n }\n .label {\n color: #4a4a49;\n }\n\n ki-wwp-graph,\n ki-wwp-graph-precip,\n .graph {\n height: 240px;\n width: 360px;\n }\n\n .remark {\n padding: 2px 10px;\n color: red;\n }\n `;\n\n @property({ type: Array })\n stations = [];\n\n stationRemark = '';\n\n config = getConfig();\n\n api = getCurrentApi();\n\n formatter = new Intl.NumberFormat('de', {\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n });\n\n valFormatter(val) {\n return val === 0 ? val : this.formatter.format(val);\n }\n\n _stationTmpl(station) {\n let graphComp = html``;\n const parameter = station.stationparameter_name;\n /* HDOE uses URLs as remarks sometime, but those should not be shown in popup */\n if (\n station &&\n this.config?.remarkAttr &&\n !station[this.config?.remarkAttr].includes('`;\n } else if (parameter === 'Wassertemperatur') {\n graphComp = html``;\n } else if (parameter === 'Niederschlag') {\n // Differentiate between 24h, 48h and 6h difference\n if (station.ts_name.includes('48h'))\n graphComp = html``;\n else if (station.ts_name.includes('24h'))\n graphComp = html``;\n else if (station.ts_name.includes('6h'))\n graphComp = html``;\n else\n console.warn(\n 'Invalid precipitation data, please check popup or timeseries config',\n );\n\n title = `${station.station_name} (${station.stationparameter_name})`;\n } else if (parameter === 'Lufttemperatur') {\n graphComp = html``;\n title = `${station.station_name} (${station.stationparameter_name})`;\n } else if (parameter === 'GWS') {\n station.ts_unitsymbol = 'm ü.A.';\n graphComp = html``;\n\n title = `${station.station_name} (Grundwasserstand)`;\n }\n\n return html`${title}
\n \n
\n \n
\n
${this.i18n.t(parameter)}
\n
\n ${station.ts_value != null\n ? `${this.valFormatter(station.ts_value)} ${\n station.ts_unitsymbol\n }`\n : '-'}\n
\n
\n
\n
${this.i18n.t('last_measure')}
\n
\n ${(station.timestamp && dayjs(station.timestamp).format('L LT')) ||\n '-'}\n
\n
\n
\n ${graphComp}
\n
`;\n }\n\n render() {\n return this.stations\n ? html`${this._stationTmpl(this.stations[0])}`\n : html``;\n }\n}\n","import { css, html, LitElement } from 'lit';\n\nimport { customElement } from 'lit/decorators.js';\nimport dayjs from '@kisters/wiski-web/common/dayjsext';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\nimport { getRouteOptionsAndParams } from '@kisters/wiski-web/components';\nimport { lastIndexOf } from 'lodash-es';\n\n@customElement('wwp-station-download-hdoe')\nexport default class WwpStationDownloadHdoe extends LitElement {\n static styles = css`\n .content {\n margin-top: 30px;\n }\n .row {\n display: table-row;\n line-height: 2em;\n }\n .cell {\n display: table-cell;\n padding: 0 20px;\n }\n .label,\n ki-icon {\n color: gray;\n padding-left: 30px;\n }\n .descr {\n padding: 30px;\n }\n `;\n\n constructor() {\n super();\n this.api = getCurrentApi();\n }\n\n static get properties() {\n return {};\n }\n\n get groups() {\n return this.station.downloads;\n }\n\n async onAfterEnter(location) {\n const params = getRouteOptionsAndParams(location, ['stationId']);\n this.station = await this.api.getStation(params.stationId);\n Object.assign(this, params.options);\n this.requestUpdate();\n }\n\n getParameter(param) {\n return this.parameterMapping[param] || param;\n }\n\n // eslint-disable-next-line class-methods-use-this\n getPeriod(period) {\n switch (period) {\n case '7D':\n return 'Woche';\n case '1M':\n return 'Monat';\n case '1Y':\n return 'Jahr';\n default:\n return dayjs.duration(`P${period}`).humanize();\n }\n }\n\n render() {\n return this.station\n ? html` \n
\n ${this.descr}\n
\n ${this.groups.map(\n field => html`
\n
\n ${this.getParameter(field.station_parameter)}\n
\n
\n ${this.getPeriod(field.period_alias)}\n
\n
\n
`,\n )}\n
\n ${this.moreDownloadsText}\n
hier\n
\n
`\n : html`lade...
`;\n }\n}\n","import { customElement } from 'lit/decorators.js';\nimport { css, html, LitElement } from 'lit';\nimport { responsiveMixin } from '@kisters/wiski-web/decorators';\nimport { last, orderBy } from 'lodash-es';\nimport dayjs from '@kisters/wiski-web/common/dayjsext';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\nimport {\n getRouteOptionsAndParams,\n getConfig,\n} from '@kisters/wiski-web/components';\nimport { Mix } from '@kisters/wiski-web/common';\n\n@customElement('wwp-hdoe-kennzahlen')\nexport default class WwpHdoeKennzahlen extends Mix(\n LitElement,\n responsiveMixin,\n) {\n // language=CSS\n static styles = css`\n :host {\n display: block;\n }\n\n #box {\n margin: 20px;\n }\n\n h2 {\n color: black;\n }\n\n :host(.sm-screen) h2 {\n margin-left: 50px;\n margin-top: 15px;\n }\n\n .kennzahlenAnmerkungen {\n font-weight: 900;\n font-size: 20px;\n }\n\n .kennzahlen-table {\n margin: 10px 0;\n width: 300px;\n }\n\n .hidden {\n display: none;\n }\n\n table,\n th,\n td {\n border: 2px solid #e8e8ea;\n border-collapse: collapse;\n }\n\n th {\n text-align: center;\n }\n\n td {\n width: 50%;\n padding: 5px;\n }\n\n .rawdata {\n font-family: monospace;\n }\n `;\n\n content = 'Kennzahlen';\n\n alarmstufen = [];\n\n ereignisse = [];\n\n kennzahlen = [];\n\n alarmstufenData = [];\n\n ereignisseData = [];\n\n kennzahlenData = [];\n\n api = getCurrentApi();\n\n config = getConfig();\n\n async onAfterEnter(location) {\n const params = getRouteOptionsAndParams(location, ['stationId']);\n this.station = await this.api.getStation(params.stationId);\n Object.assign(this, params.options);\n this.fetchData();\n console.debug('Color Kennzahlen:', this.config?.kennzahlenColor);\n }\n\n render() {\n return html`\n
${this.content}
\n\n
\n \n ${this?.station?.web_kennzahlen_anmerkung}\n
\n
\n
\n
\n \n Alarmstufen | \n
\n ${this.alarmstufen}\n
\n
\n
\n
\n \n Ereignisse | \n
\n ${this.ereignisse}\n
\n
\n
\n
\n \n Kennzahlen | \n
\n ${this.kennzahlen}\n
\n
\n
\n
\n
\n Weitere Informationen zu den Kennzahlen finden Sie in den zugehörigen\n Erklärungen.\n
\n
\n
`;\n }\n\n /**\n * Fetch data and prepare view items for rendering\n */\n async fetchData() {\n const _files = {};\n await Promise.all(\n this.station.timeseries\n .filter(ts => ts.station_parameter === this.station_parameter)\n .map(async ts => {\n const fileName = last(ts.href.split('/'));\n if (this.files.includes(fileName)) {\n _files[fileName] = await this.api.getTsData(ts.href);\n }\n }),\n );\n\n this.alarmstufenData = _files['alm.json'];\n this.ereignisseData = _files['events.json'];\n this.kennzahlenData = _files['ltv.json'];\n\n /* Build Data Model */\n /**\n * Create data views\n * Invert data array to use most recent value (WW-472)\n */\n this.alarmstufenData &&\n orderBy(this.alarmstufenData, 'ts_name').forEach(i => {\n this.alarmstufen.push(html`
`);\n this.alarmstufen.push(html`
${i.ts_name.split('-')[1]} | `);\n if (i.rows > 0) {\n this.alarmstufen.push(\n html`\n ${`${i.data.reverse()[0][1].toString()} ${\n i.web_unit_gws || i.ts_unitsymbol\n }`}\n | `,\n );\n } else {\n this.alarmstufen.push(html`- | `);\n }\n this.alarmstufen.push(html``);\n });\n\n this.ereignisseData &&\n this.ereignisseData[0]?.data.forEach(i => {\n this.ereignisse.push(html`
`);\n this.ereignisse.push(html`${dayjs(i[0]).format('L')} | `);\n this.ereignisse.push(\n html`\n ${`${i[1].toString()} ${\n this.ereignisseData[0].web_unit_gws ||\n this.ereignisseData[0].ts_unitsymbol\n }`}\n | `,\n );\n this.ereignisse.push(html``);\n });\n\n /** Invert data array to use most recent value (WW-472) */\n this.kennzahlenData &&\n orderBy(this.kennzahlenData, 'ts_name').forEach(i => {\n this.kennzahlen.push(html`
`);\n this.kennzahlen.push(html`${i.ts_name.split('-')[1]} | `);\n if (i.rows > 0) {\n this.kennzahlen.push(\n html`\n ${`${i.data.reverse()[0][1].toString()} ${\n i.web_unit_gws || i.ts_unitsymbol\n }`}\n | `,\n );\n } else {\n this.kennzahlen.push(html` | `);\n }\n this.kennzahlen.push(html``);\n });\n\n this.requestUpdate();\n }\n}\n","import { css, html, LitElement } from 'lit';\n\nimport { property, customElement } from 'lit/decorators.js';\nimport { last, sortBy } from 'lodash-es';\nimport Highcharts from 'highcharts';\nimport serieslabel from 'highcharts/modules/series-label';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\nimport { getRouteOptionsAndParams } from '@kisters/wiski-web/components';\n\nserieslabel(Highcharts);\n\n@customElement('wwp-hdoe-querprofil')\nexport default class wwpHdoeQuerprofil extends LitElement {\n // language=CSS\n static styles = css`\n :host {\n height: 100%;\n overflow-y: auto;\n width: 100%;\n display: flex;\n }\n #chart-node {\n display: table-cell;\n position: absolute;\n width: 100%;\n height: 100%;\n }\n\n #chart-wrapper {\n display: table-cell;\n position: relative;\n flex: 1;\n }\n `;\n\n api = getCurrentApi();\n\n @property({ attribute: false }) highcharts = Highcharts;\n\n static get properties() {\n return {\n content: { type: String },\n alarmstufen_data: { type: Object, attribute: false },\n ereignisse_data: { type: Object, attribute: false },\n kennzahlen_data: { type: Object, attribute: false },\n querprofil_data: { type: Object, attribute: false },\n week_data: { type: Object, attribute: false },\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.numberFormatter = new Intl.NumberFormat('de', this.numberFormat || {});\n\n window.addEventListener('resize', () =>\n setTimeout(() => {\n this.chart && this.chart.reflow();\n }, 2200),\n );\n }\n\n async onAfterEnter(location) {\n const params = getRouteOptionsAndParams(location, ['stationId']);\n this.station = await this.api.getStation(params.stationId);\n Object.assign(this, params.options);\n this.fetchData();\n }\n\n createChart() {\n this.chart = this.highcharts.chart(\n this.renderRoot.querySelector('#chart-node'),\n this.chartOptions(),\n this.chartCreated.bind(this),\n );\n }\n\n _formatNumber(val) {\n return val === undefined || val === null || val === '' || Number.isNaN(val)\n ? ''\n : this.numberFormatter.format(val);\n }\n\n // eslint-disable-next-line class-methods-use-this\n chartOptions() {\n const self = this;\n return {\n credits: {\n enabled: false,\n },\n plotOptions: {\n series: {\n label: {\n enabled: true,\n },\n states: {\n inactive: {\n opacity: 1,\n },\n },\n },\n },\n title: {\n text: 'Querschnittdarstellung',\n },\n tooltip: {\n enabled: true,\n valueSuffix: ' m',\n headerFormat: 'Abstand {point.key} m
',\n valueDecimals: 1,\n },\n yAxis: {\n title: {\n text: 'Höhe in m',\n },\n },\n legend: {\n title: {\n text: 'Legende zum EIN/AUSKLICKEN',\n },\n },\n xAxis: {\n title: {\n text: 'Abstand in m',\n },\n labels: {\n formatter() {\n return `${self._formatNumber(this.value)}`;\n },\n },\n },\n };\n }\n\n addNewLineToChart(name, data, color, z, show) {\n const new_series = {};\n new_series.type = 'line';\n new_series.id = name;\n new_series.name = name;\n\n new_series.color = color;\n new_series.showInLegend = show;\n new_series.visible =\n name === ' HW30' || name === ' HW1' || name === 'aktueller Wasserstand';\n\n new_series.data = data;\n new_series.zIndex = z + 50;\n\n // Do not show data points\n new_series.marker = {\n enabled: false,\n states: { hover: { enabled: false }, inactive: { opacity: 1 } },\n };\n // new_series.states = {\"hover\": {\"enabled\": false, \"opacity\": 1}};\n\n this.chart.addSeries(new_series);\n }\n\n addNewAreaToChart(name, data, color, z) {\n const new_series = {};\n new_series.type = 'area';\n new_series.id = name;\n new_series.name = name;\n new_series.label = {\n enabled: false,\n };\n\n if (Array.isArray(data)) new_series.data = data;\n else {\n // Span line over whole chart\n const x_max = last(this.chart.series[0].data).x;\n\n const level_data = [];\n level_data.push({ x: 0, y: data });\n level_data.push({ x: x_max, y: data });\n new_series.data = level_data;\n }\n new_series.color = color;\n new_series.fillColor = color;\n new_series.zIndex = z;\n new_series.threshold = null;\n\n // Do not show data points\n new_series.marker = {\n enabled: false,\n states: { hover: { enabled: false }, inactive: { opacity: 1 } },\n };\n // new_series.states = {\"hover\": {\"enabled\": false, \"opacity\": 1}};\n\n this.chart.addSeries(new_series);\n }\n\n chartCreated(chart) {\n const e = new CustomEvent('load', {\n detail: chart,\n });\n this.dispatchEvent(e);\n }\n\n updated() {\n if (this.chart) {\n this.chart.reflow();\n }\n }\n\n _fillLineData(level) {\n const crossSectionData = this.querprofil_data[0].polygon.point;\n return crossSectionData.map(dp => ({ x: dp.x, y: level }));\n }\n\n render() {\n return html``;\n }\n\n async fetchData() {\n const _files = {};\n\n // TODO: Fix API call\n const files = await this.api.getTsData(\n `internet/stations/${this.station.site_no}/${this.station.station_no}/cross_section/cross_section.json`,\n );\n\n await Promise.all(\n this.station.timeseries\n .filter(ts => ts.station_parameter === this.station_parameter)\n .map(async ts => {\n _files[last(ts.href.split('/'))] = await this.api.getTsData(ts.href);\n }),\n );\n\n this.alarmstufen_data = _files['alm.json'];\n this.ereignisse_data = _files['events.json'];\n this.kennzahlen_data = _files['ltv.json'];\n this.week_data = _files['week.json'];\n\n this.querprofil_data = files;\n\n this.createChart();\n const crossSectionData = this.querprofil_data[0].polygon.point;\n // Plot profile\n this.addNewAreaToChart(\n 'Gelände',\n crossSectionData,\n 'rgba(164, 100, 30, 1)',\n 15,\n );\n\n // Parse Waterlevel\n const lastlevel = last(this.week_data[0].data)[1]; // Access latest data point\n\n this.addNewAreaToChart(\n 'aktueller Wasserstand',\n this._fillLineData(lastlevel / 100),\n 'rgba(10, 67, 119, 0.5)',\n 3,\n ); // cm -> m\n // this.addNewLineToChart(\"aktueller Wasserstand\", this._fillLineData(lastlevel/100), \"rgb(10, 67, 119)\", 4, true )\n\n // Parse Alarm\n this.alarmstufen_data.forEach(i => {\n if (i.rows > 0) {\n this.addNewLineToChart(\n i.ts_name.split('-')[1],\n this._fillLineData(i.data[0][1] / 100),\n undefined,\n 5,\n true,\n ); // cm -> m\n }\n });\n\n // Parse Kennzahlen\n sortBy(this.kennzahlen_data, 'ts_name').forEach(i => {\n if (i.rows > 0)\n this.addNewLineToChart(\n i.ts_name.split('-')[1],\n this._fillLineData(i.data[0][1] / 100),\n undefined,\n 11,\n true,\n ); // cm -> m\n });\n\n // Brückenunterkante\n if (this.station.web_querprofil_buk) {\n this.addNewLineToChart(\n 'Brückenunterkante',\n this._fillLineData(this.station.web_querprofil_buk / 100),\n '#222222',\n 12,\n ); // cm -> m\n }\n\n if (this.station.web_querprofil_bok) {\n this.addNewLineToChart(\n 'Brückenoberkante',\n this._fillLineData(this.station.web_querprofil_bok / 100),\n '#222222',\n 12,\n ); // cm -> m\n }\n\n this.requestUpdate();\n }\n}\n","import { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\nimport { orderBy } from 'lodash-es';\n\n/**\n * A component to display Hochwasserberichte (flood reports) using the browser's native PDF viewer.\n */\n@customElement('wwp-hdoe-hochwasserbericht')\nexport class WwpHdoeHochwasserbericht extends LitElement {\n static styles = css`\n :host {\n display: block;\n height: 100%;\n }\n iframe {\n width: 100%;\n height: 100%;\n border: none;\n }\n `;\n\n api = getCurrentApi();\n\n content;\n\n renderPDF() {\n const url = `${this.api.dataPath}/${this.content}`;\n\n return this.content\n ? html``\n : html`Keine Inhalte verfügbar`;\n }\n\n async onAfterEnter() {\n this.fetchData();\n }\n\n /**\n * Fetches PDF documents and updates the `content` property with the most recent or default report URL.\n */\n async fetchData() {\n this.api.getReportInfo().then(d => {\n const defaultBericht = d.all_listing.filter(\n item =>\n item.mimeType === 'application/pdf' &&\n item.name.includes(\n 'documents/hochwasserbericht/default_Hochwasserbericht.pdf',\n ),\n );\n const hochwasserberichte = orderBy(\n d.all_listing.filter(\n item =>\n item.mimeType === 'application/pdf' &&\n item.name.includes('documents/hochwasserbericht/') &&\n !item.name.includes(\n 'documents/hochwasserbericht/default_Hochwasserbericht',\n ),\n ),\n 'lastModified',\n 'desc',\n );\n if (hochwasserberichte.length) {\n this.content = hochwasserberichte[0].name;\n } else if (defaultBericht[0]) {\n this.content = defaultBericht[0].name;\n }\n this.requestUpdate();\n });\n }\n\n render() {\n return this.renderPDF();\n }\n}\n","import { html, css, LitElement } from 'lit';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Mix } from '@kisters/wiski-web/common';\nimport { queryParamMixin } from '@kisters/wiski-web/decorators';\nimport { getRouteOptionsAndParams } from '@kisters/wiski-web/components';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\n\nimport '@ui5/webcomponents/dist/DatePicker';\nimport { customElement, query } from 'lit/decorators.js';\nimport { filter, last } from 'lodash-es';\nimport dayjs from '@kisters/wiski-web/common/dayjsext';\n\n@customElement('wwp-hdoe-bericht-wasserstand')\nexport default class WwReport extends Mix(LitElement, [\n queryParamMixin,\n { targetProperty: 'selected', selector: 'selected', defaultValue: '' },\n]) {\n @query('#datepicker')\n datepicker;\n\n // language=css\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n height: calc(100% - 30px);\n }\n iframe {\n width: 100%;\n height: 100%;\n border: none;\n }\n .left-panel {\n text-align: center;\n flex: 0;\n }\n .right-panel {\n flex: 1;\n }\n\n ui5-select {\n width: 350px;\n }\n\n a {\n font-size: 2em;\n text-align: center;\n display: block;\n margin-top: 20%;\n }\n `;\n\n constructor() {\n super();\n this.api = getCurrentApi();\n this.data = [];\n }\n\n static get properties() {\n return {\n data: { type: Array },\n };\n }\n\n _selected = '';\n\n get selected() {\n return this._selected;\n }\n\n set selected(value) {\n this._selected = value;\n this.requestUpdate();\n }\n\n // Vaadin Router Method that gets called after this component is called\n // eslint-disable-next-line no-unused-vars\n async onAfterEnter(location) {\n const params = getRouteOptionsAndParams(location, []);\n\n // Usually \"documents\" or \"reports\"\n this.directory = params.options?.directory || 'documents';\n\n this.fetchData();\n }\n\n // Fetch report\n async fetchData() {\n const res = (await this.api.getReportInfo()).all_listing;\n\n // Filter reports; only allow visible PDF\n this.data = filter(res, d => {\n if (d.mimeType === 'application/pdf' && d.name.includes('Wasserstand')) {\n const pathArray = d.name.split('/');\n const date = dayjs(\n pathArray[pathArray.length - 1]\n .replace('Wasserstandsbericht-', '')\n .replace('.pdf', ''),\n 'YYYY-MM-DD_hh-mm',\n );\n if (date.toString() === 'Invalid Date') {\n return false;\n }\n d.filename = last(pathArray);\n d.value = date.valueOf();\n d.label = date.format('DD.MM.YYYY');\n return true;\n }\n return false;\n }).reverse(); // Newest file on first position\n this.requestUpdate();\n }\n\n updated() {\n this.data[0] &&\n this._handleChanged({\n target: {\n selectedOption: { value: this.data[0].date },\n },\n });\n }\n\n getUrl(file) {\n const filepath = `${this.api.dataPath}/${this.directory}/Wasserstand/${file}`;\n console.debug(filepath);\n return filepath;\n }\n\n /**\n * Handles selection changes, updating the iframe to display the selected PDF directly using the browser's viewer.\n * @param e The selection change event.\n */\n _handleChanged(e: CustomEvent): void {\n const value = e?.detail?.value ? e?.detail?.value : this.data[0].label;\n const doc = this.data.find(item => item.label === value);\n if (doc) {\n const pdfurl = `${this.api.dataPath}/${doc.name}`;\n this.renderRoot.querySelector('iframe')!.src = pdfurl;\n } else {\n this.renderRoot.querySelector('iframe')!.src = './html/leer.html'; // Provide a fallback or error page as necessary\n }\n }\n\n render() {\n // language=html\n return this.data.length\n ? html`\n \n \n \n
\n \n \n
\n `\n : html`Lade...
`;\n }\n}\n","import { css } from 'lit';\n// language=CSS\nexport default css`\n :host {\n display: flex;\n overflow: auto;\n flex-direction: column;\n padding: 0 170px 0px 175px;\n position: relative;\n background: rgb(232, 232, 234);\n }\n ki-station-map {\n position: absolute;\n top: 30px;\n bottom: 0;\n left: 0;\n right: 0;\n width: initial;\n height: initial;\n }\n\n .top{\n margin: 5px 0;\n z-index:2;\n }\n .top iframe {\n flex: 1;\n }\n .bottom{\n z-index:2;\n flex: 2;\n display: flex;\n padding-bottom: 5px;\n }\n .content {\n background: white;\n flex: 1;\n display: flex;\n flex-direction: column;\n border: 1px solid rgb(97, 102, 113);\n }\n .bottom .content.left {\n flex: 2;\n position: relative;\n margin-right: 5px;\n }\n iframe {\n flex: 1;\n border: 0;\n }\n\n .top img {\n\n align-self: center;\n margin: 10px auto;\n }\n\n .titleNode {\n color: #fff;\n font-size: larger;\n background-color: #616671;\n padding-left: 10px;\n }\n\n\n\n .overlay{\n position: absolute;\n z-index: 11;\n top: 30px;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n .leftBorder, .rightBorder {\n background: #e8e8ea;\n height: 100%;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 170px;\n }\n\n .leftBorder {\n left: 0;\n width: 175px;\n }\n\n .rightBorder {\n right: 0;\n }\n\n @media only screen and (max-width: 1300px) {\n :host {\n padding: 0 10px;\n background: rgb(232, 232, 234);\n }\n .leftBorder, .rightBorder {\n display: none;\n }\n .bottom .content.left {\n margin-right: 10px;\n }\n div.top img {\n align-self: center;\n margin: 10px auto;\n }\n }\n @media only screen and (max-width: 860px) {\n :host {\n padding: 0 10px;\n background: rgb(232, 232, 234);\n }\n .bottom {\n flex-direction: column;\n }\n .bottom .content{\n margin-top:10px;\n display: block;\n }\n .bottom .content.left {\n margin-right: 0;\n min-height: 250pt;\n }\n div.top img {\n align-self: center;\n margin: auto;\n margin-bottom: 10px;\n }\n }\n :host(.sm-screen) .top .content{\n max-height: calc(100vh - 180px);\n \n }\n :host(.sm-screen) .top .content {\n overflow: auto;\n }\n`;\n","import { html } from 'lit';\n\nimport { customElement } from 'lit/decorators.js';\nimport { until } from 'lit/directives/until.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { Mix } from '@kisters/wiski-web/common';\nimport { WwpOverview } from '@kisters/wiski-web/components';\nimport LegendFactory from '@kisters/wiski-web/components/ki-station-map/LegendFactory';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\nimport style from './wwp-hdoe-start.css';\n\n/**\n * This component shows the \"Oberflächengewässer -> Pegel\" layer.\n * \"Fremdpegel\" are filtered out on the start page by default (customer request, see WW-423)\n */\n@customElement('wwp-hdoe-start')\nexport class WwpHdoeStart extends Mix(WwpOverview) {\n static styles = [WwpOverview.styles, style];\n\n startLayers = [\n {\n type: 'topojson',\n url: './maps/abdeckung.json',\n crs: 'EPSG:3857',\n label: 'Länder nah',\n zIndex: 29,\n selectable: false,\n visible: true,\n group: 'Layers',\n style: {\n stroke: {\n color: 'rgba(255, 255, 255, 1)',\n },\n fill: {\n color: 'rgba(255, 255, 255, 1)',\n },\n },\n },\n {\n type: 'GeoJSON',\n url: './maps/ooe.json',\n crs: 'EPSG:3857',\n label: 'ooe abdeckung',\n zIndex: 30,\n selectable: false,\n visible: true,\n group: 'Layers',\n style: {\n stroke: {\n color: 'rgba(29, 29, 29, 3)',\n },\n fill: {\n color: 'rgba(255, 255, 255, 0)',\n },\n },\n },\n {\n type: 'GeoJSON',\n url: './maps/seen.json',\n crs: 'EPSG:3857',\n label: 'Seen',\n visible: true,\n group: 'Layers',\n selectable: false,\n zIndex: 28,\n style: {\n stroke: {\n color: 'rgba(0, 77, 168, 1)',\n width: 1,\n },\n fill: {\n color: 'rgba(0, 112, 255, 1)',\n },\n },\n },\n {\n type: 'topojson',\n url: './maps/ezgs.json',\n crs: 'EPSG:3857',\n label: 'Einzugsgebiete',\n group: 'Layers',\n visible: true,\n opacity: 1,\n zIndex: 20,\n selectable: false,\n styleProperty: 'REGION',\n style: {\n Donau: {\n stroke: {\n color: 'rgba(110, 110, 110, 1.0)',\n width: 1,\n },\n fill: {\n color: 'rgba(254,190,190, 1)',\n },\n },\n Elbe: {\n stroke: {\n color: 'rgba(110, 110, 110, 1)',\n width: 1,\n },\n fill: {\n color: 'rgba(204, 204, 204, 1)',\n },\n },\n Enns: {\n stroke: {\n color: 'rgba(110, 110, 110, 1)',\n width: 1,\n },\n fill: {\n color: 'rgba(254, 232, 190, 1)',\n },\n },\n Inn: {\n stroke: {\n color: 'rgba(110, 110, 110, 1)',\n width: 1,\n },\n fill: {\n color: 'rgba(231, 254, 184, 1)',\n },\n },\n Traun: {\n stroke: {\n color: 'rgba(110, 110, 110, 1)',\n width: 1,\n },\n fill: {\n color: 'rgba(115, 178, 255, 1)',\n },\n },\n },\n },\n {\n type: 'GeoJSON',\n url: './maps/gew_grob.json',\n crs: 'EPSG:3857',\n label: 'Gewässer sehr grob',\n group: 'Layers',\n visible: true,\n selectable: false,\n styleProperty: 'SYMBOL',\n zIndex: 31,\n style: {\n '1': {\n stroke: {\n color: 'rgba(0, 77, 168, 1.0)',\n width: 4,\n },\n },\n '2': {\n stroke: {\n color: 'rgba(0, 92, 230, 1.0)',\n width: 3,\n },\n },\n '3': {\n stroke: {\n color: 'rgba(0, 112, 255, 1.0)',\n width: 1.5,\n },\n },\n '4': {\n stroke: {\n color: 'rgba(0, 169, 230, 1.0)',\n width: 1,\n },\n },\n },\n },\n ];\n\n api = getCurrentApi();\n\n // eslint-disable-next-line class-methods-use-this\n getDocHeight(doc) {\n doc = doc || document;\n const __body = doc.body;\n const __html = doc.documentElement;\n const height = Math.max(\n __body.scrollHeight,\n __body.offsetHeight,\n __html.clientHeight,\n __html.scrollHeight,\n __html.offsetHeight,\n );\n return height;\n }\n\n setIframeHeight(e) {\n const ifrm = e.target;\n if (ifrm) {\n let doc;\n if (ifrm.contentDocument) {\n doc = ifrm.contentDocument;\n } else {\n doc = ifrm.contentWindow ? ifrm.contentWindow.document : null;\n }\n if (doc) {\n ifrm.style.visibility = 'hidden';\n ifrm.style.height = '10px'; // reset to minimal height ...\n // IE opt. for bing/msn needs a bit added or scrollbar appears\n ifrm.style.height = `${this.getDocHeight(doc) + 4}px`;\n ifrm.style.minHeight = `${this.getDocHeight(doc) + 4}px`;\n\n ifrm.style.visibility = 'visible';\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n get viewStart() {\n const zoom = this.classList.contains('sm-screen') ? 7 : 8;\n return {\n projection: 'EPSG:3857',\n center: [1537773, 6117425],\n maxZoom: zoom,\n minZoom: zoom,\n zoom,\n extent: [983646.5, 5836117.8, 2007460.6, 6299120.7],\n };\n }\n\n firstUpdated() {\n setTimeout(() => {\n // this.shadowRoot.getElementById(\"map\").resize()\n }, 1000);\n }\n\n connectedCallback() {\n if (super.connectedCallback) super.connectedCallback();\n let resize;\n this.lagebericht = fetch(\n `${\n this.api.dataPath\n }/html/Lagebericht.html?cachebust=${new Date().getTime()}`,\n ).then(r => r.text().then(t => unsafeHTML(t)));\n\n this.aktuelles = fetch(\n `${\n this.api.dataPath\n }/html/Aktuelles.html?cachebust=${new Date().getTime()}`,\n ).then(r => r.text().then(t => unsafeHTML(t)));\n this.iframeResize = window.addEventListener('resize', () => {\n window.clearTimeout(resize);\n resize = setTimeout(() => {\n this.setIframeHeight({\n target: this.renderRoot.getElementById('lagebericht'),\n });\n this.setIframeHeight({\n target: this.renderRoot.getElementById('aktuelles'),\n });\n }, 220);\n });\n }\n\n _getMaxHeight() {\n if (this.classList.contains('sm-screen')) {\n return `${this.renderRoot.host.clientHeight - 40}px`;\n }\n return 'inital';\n }\n\n disconnectedCallback() {\n if (super.disconnectedCallback) super.disconnectedCallback();\n window.removeEventListener('resize', this.iframeResize);\n }\n\n // Define the element's template\n render() {\n if (this.currentLayer !== this.layerName) {\n this.getDataLayer();\n }\n return (\n this._renderLoader() ||\n html`\n
\n \n
\n
Lagebericht
\n
\n
${until(\n this.lagebericht,\n html`Lade...`,\n )}
\n

\n
\n
\n
\n \n
\n
Aktueller Wasserstand
\n
\n
\n \n \n [\n 'Hydrographischer Dienst',\n 'via donau - Österreichische Wasserstraßen-GmbH',\n ].includes(s.web_betreiber),\n )}\"\n >\n \n \n
\n
\n
Aktuelles
\n
${until(this.aktuelles, html`Lade...`)}
\n
\n
\n \n
\n`\n );\n }\n\n get legendFactory() {\n const copy = { ...this._dataLayer.config.classification };\n if (copy && copy.default && copy.default.marker) {\n copy.default.marker.radius = 10;\n }\n return new LegendFactory(copy);\n }\n}\n","import { html, css, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@ui5/webcomponents/dist/Select';\nimport '@ui5/webcomponents/dist/Option';\nimport { getCurrentApi } from '@kisters/wiski-web/api/API';\n\n@customElement('ww-hdoe-hydrochar')\nexport default class wwHdoeHydrochar extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n height: calc(100% - 30px);\n }\n iframe {\n width: 100%;\n height: 100%;\n border: none;\n }\n .left-panel {\n text-align: center;\n flex: 0;\n }\n .right-panel {\n flex: 1;\n }\n .msg {\n margin: auto;\n }\n ui5-select {\n width: 300px;\n }\n `;\n\n months = [\n 'Jahrescharakteristik',\n 'Jänner',\n 'Februar',\n 'März',\n 'April',\n 'Mai',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'Dezember',\n ];\n\n api = getCurrentApi();\n\n docs: string[] = [];\n\n @property({ type: String })\n path = '/documents';\n\n loading = true;\n\n selectedYear = '';\n\n @property({ type: String })\n selectedDoc = '';\n\n async onAfterEnter() {\n this.fetchData();\n }\n\n _getFullPath(file) {\n const folder =\n file.length === 4 ? 'charakteristikJahr' : 'CharakteristikMonat';\n const url = new URL(\n `${this.api.dataPath}${this.path}/${folder}/${file}.pdf`,\n window.location.origin,\n ).href;\n console.debug(url);\n return url;\n }\n\n async fetchData() {\n const year = await this.api._requestJson(\n `${this.path}/charakteristikJahr/index.json`,\n );\n const month = await this.api._requestJson(\n `${this.path}/CharakteristikMonat/index.json`,\n );\n this.loading = false;\n const yearDocs = year?.data?.map(item => item.name.substring(0, 4)) || [];\n const monthDocs = month?.data?.map(item => item.name.substring(0, 7)) || [];\n this.docs = yearDocs.concat(monthDocs).sort().reverse();\n this.selectedDoc = this.docs.length\n ? this._getFullPath(monthDocs[monthDocs.length - 1])\n : 'leer';\n }\n\n getMonthName(chr) {\n const month = parseInt(chr.substring(5, 7), 10) || 0;\n return `${chr.substring(0, 4)} ${this.months[month]}`;\n }\n\n render() {\n if (this.loading) {\n return html`Berichte werden geladen...
`;\n }\n return this.docs.length\n ? html`\n \n
{\n this.selectedDoc = this._getFullPath(\n e.target.selectedOption.value,\n );\n }}\"\n >\n ${this.docs.map(\n item =>\n html`${this.getMonthName(item)}`,\n )}\n \n
Archivdaten\n
\n \n \n
\n `\n : html`Aktuell sind keine Berichte vorhanden
`;\n }\n}\n","// Shared modules: @kisters/${name}-common/\n// App specific module: ../\n\nexport default [\n {\n component: 'ww-app',\n importAction: async () => {\n await import('../app/ww-app');\n },\n },\n];\n","/* eslint-disable no-template-curly-in-string */\n/* eslint-disable no-nested-ternary */\nimport { html, css, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { initConfig, getRoutes } from '@kisters/wiski-web/components';\nimport { LoaderMixin } from '@kisters/wiski-web/common';\nimport { initAPI } from '@kisters/wiski-web/api/API';\n\nimport '@kisters/wiski-web/components/ki-wwp-graph/ki-wwp-graph-ext';\nimport '@kisters/wiski-web/components/ki-wwp-graph/ki-wwp-graph-precip-ext';\n// Import common components here\nimport '../../common/components/ki-wwp-graph-hdoe-fcst';\nimport '../../common/components/ki-wwp-graph-hdoe-fcst-ext';\nimport '../../common/components/ki-map-popup-hdoe';\nimport '../../common/components/wwp-station-download-hdoe';\nimport '../../common/components/wwp-hdoe-kennzahlen';\nimport '../../common/components/wwp-hdoe-querprofil';\nimport '../../common/components/wwp-hdoe-hochwasserbericht';\nimport '../../common/components/wwp-hdoe-bericht-wasserstand';\nimport '../../common/components/wwp-hdoe-start';\nimport '../../common/components/ww-hdoe-hydrochar';\n\nimport importActions from './import-actions/import-actions';\n\n// TODO use lib without compile might be better.\n// can consider all ki-wcp project with build version instead import source and recompile it\n\n@customElement('ww-app-index')\nexport default class wwAppIndex extends LoaderMixin(LitElement) {\n static styles = css`\n :host {\n height: 100%;\n width: 100%;\n }\n `;\n\n constructor() {\n super();\n this.configLoaded = false;\n this.configLocation = './config/app.json';\n }\n\n render() {\n if (!this.configLoaded) {\n return this._renderLoader();\n }\n // language=html\n return html` `;\n }\n\n firstUpdated() {\n this.promiseLoader(\n initConfig(this.configLocation, importActions).then(config => {\n initAPI({ dataPath: config.dataPath });\n this._config = config;\n this.configLoaded = true;\n }),\n );\n }\n}\n"],"file":"assets/main-b74f4350.js"}