{"id":10637,"date":"2025-11-04T21:36:20","date_gmt":"2025-11-04T20:36:20","guid":{"rendered":"https:\/\/my-ehealth.de\/?page_id=10637"},"modified":"2025-11-04T22:04:49","modified_gmt":"2025-11-04T21:04:49","slug":"tagebuch","status":"publish","type":"page","link":"https:\/\/my-ehealth.de\/?page_id=10637","title":{"rendered":"Tagebuch"},"content":{"rendered":"<h1>Tagebuch<\/h1>\r\n<br>\r\n        <style>\n        :root{\n          --fp-font-size: 16px;\n          --fp-header-h: 52px;\n          --fp-weekdays-h: 36px;\n          --fp-day-size: 44px;\n        }\n        #calendarContainer-cal-69d96d48a842d { padding: 0; }\n        #fpCalendar-cal-69d96d48a842d { width: 100%; display: flex; flex-direction: column; align-items: center; }\n        .flatpickr-calendar.inline{\n          width: 100%; max-width: none; box-shadow: none; border: 1px solid #dee2e6; border-radius: .5rem; font-size: var(--fp-font-size);\n        }\n        .flatpickr-months{ height: var(--fp-header-h); }\n        .flatpickr-months .flatpickr-month{ height: var(--fp-header-h); display: flex; align-items: center; justify-content: center; padding: 0 .5rem; }\n        .flatpickr-months .flatpickr-prev-month,\n        .flatpickr-months .flatpickr-next-month{ height: var(--fp-header-h); width: var(--fp-header-h); display: flex; align-items: center; justify-content: center; }\n        .flatpickr-months .flatpickr-prev-month svg,\n        .flatpickr-months .flatpickr-next-month svg{ width: 1.1em; height: 1.1em; }\n        .flatpickr-current-month{ display: flex; align-items: center; gap: .5rem; justify-content: center; }\n        .flatpickr-weekdays{ height: var(--fp-weekdays-h); }\n        .flatpickr-weekdays .flatpickr-weekday{ line-height: var(--fp-weekdays-h); }\n        .flatpickr-days{ width: 100%; }\n        .dayContainer{ width: 100%; min-width: 100%; max-width: 100%; }\n        .flatpickr-day{ width: calc(100% \/ 7); height: var(--fp-day-size); line-height: var(--fp-day-size); max-width: none; box-sizing: border-box; border-radius: .375rem; }\n        \/* Punkt-Indikator f\u00fcr erledigte Tage (nur Punkt, gr\u00fcn) *\/\n        #fpCalendar-cal-69d96d48a842d .flatpickr-day.ts-has-entry{ position: relative; }\n        #fpCalendar-cal-69d96d48a842d .flatpickr-day.ts-has-entry::after{\n          content: '';\n          position: absolute;\n          bottom: 6px;\n          left: 50%;\n          transform: translateX(-50%);\n          width: 6px; height: 6px;\n          background: #28a745;\n          border-radius: 50%;\n        }\n                                        \n        #fpCalendar-cal-69d96d48a842d .flatpickr-innerContainer{ justify-content: center; }\n        @media (min-width: 992px){ :root{ --fp-header-h: 56px; --fp-weekdays-h: 40px; --fp-day-size: 48px; } }\n        #fpCurYear-cal-69d96d48a842d{ width: 10ch; min-width: 10ch; text-align: center; }\n        #fpHeader-cal-69d96d48a842d{ text-align: center; border-bottom: 1px solid #dee2e6;}\n        #fpYearWrapper-cal-69d96d48a842d{ display: inline-flex; align-items: center; justify-content: center; min-width: 7ch; }\n        #fpMonthSelect-cal-69d96d48a842d{ min-width: 16ch; text-align-last: center; }\n        @media (max-width: 576px){\n          #fpMonthSelect-cal-69d96d48a842d{ min-width: 7ch; }\n          #fpCurYear-cal-69d96d48a842d{ width: 7ch; min-width: 7ch; }\n        }\n        <\/style>\n\n        <div id=\"calendarContainer-cal-69d96d48a842d\">\n          <div id=\"fpCalendar-cal-69d96d48a842d\" aria-label=\"Kalender\"><\/div>\n          <input id=\"fpInput-cal-69d96d48a842d\" type=\"text\" class=\"form-control mt-2\" placeholder=\"TT.MM.JJJJ\" autocomplete=\"off\" \/>\n                      <div class=\"mt-2\">\n                              <span>\n                  <a id=\"ts-calendar-left-btn-cal-69d96d48a842d\" class=\"btn btn-outline-secondary mr-2\" href=\"https:\/\/my-ehealth.de\/?page_id=10651\">\u00dcbersicht<\/a>\n                <\/span>\n                            <a id=\"ts-calendar-btn-cal-69d96d48a842d\" class=\"btn btn-primary\" href=\"https:\/\/my-ehealth.de\/?seiten=ijoy-komplett&#038;idt1=10640&#038;idt2=5790&#038;calendar_id=10650&#038;date=%7B%7Bselected_date%7D%7D\" style=\"float:right\">Zum Tagebucheintrag<\/a>\n            <\/div>\n                  <\/div>\n\n        <script>\n        document.addEventListener('DOMContentLoaded', function () {\n          if (!window.flatpickr) return;\n          const fpInput = document.getElementById('fpInput-cal-69d96d48a842d');\n          const fpCal = document.getElementById('fpCalendar-cal-69d96d48a842d');\n          if (fpInput && fpCal) {\n            \/\/ Erledigte Tage des aktuellen Monats (serverseitig vorab ermittelt)\n            var tsDoneDates = new Set([]);\n\n            const fpInstance = flatpickr(fpInput, {\n              inline: true,\n              appendTo: fpCal,\n              clickOpens: false,\n              locale: 'de',\n              dateFormat: 'd.m.Y',\n              allowInput: true,\n                             onDayCreate: [function(dObj, dStr, fp, dayElem){\n                 if (!tsDoneDates || tsDoneDates.size === 0) return;\n                 try {\n                   var dateObj = dayElem && dayElem.dateObj ? dayElem.dateObj : dObj;\n                   var iso = (fp && typeof fp.formatDate === 'function') ? fp.formatDate(dateObj, 'Y-m-d') : (window.flatpickr && window.flatpickr.formatDate ? window.flatpickr.formatDate(dateObj, 'Y-m-d') : null);\n                   if (iso && tsDoneDates.has(iso)) {\n                     dayElem.classList.add('ts-has-entry');\n                   }\n                   \n                   \/\/ Doppelklick-Event direkt auf den Tag setzen\n                   if (dayElem && !dayElem.classList.contains('disabled')) {\n                     dayElem.addEventListener('dblclick', function(e) {\n                       e.preventDefault();\n                       e.stopPropagation();\n                       \/\/ Kurze Verz\u00f6gerung um sicherzustellen, dass Flatpickr das Datum gesetzt hat\n                       setTimeout(function() {\n                         var btn = document.getElementById('ts-calendar-btn-cal-69d96d48a842d');\n                         if (btn && btn.getAttribute('aria-disabled') !== 'true') {\n                           btn.click();\n                         }\n                       }, 100);\n                     });\n                   }\n                 } catch(e) {}\n               }],\n              onChange: [function(selectedDates, dateStr, instance) {\n                \/\/ Kalender-Button URL mit ausgew\u00e4hltem Datum aktualisieren\n                var calendarBtn = document.getElementById('ts-calendar-btn-cal-69d96d48a842d');\n                if (calendarBtn && selectedDates.length > 0) {\n                  var selectedDate = selectedDates[0];\n                  var formattedDate = selectedDate.getFullYear() + '-' + \n                                    String(selectedDate.getMonth() + 1).padStart(2, '0') + '-' + \n                                    String(selectedDate.getDate()).padStart(2, '0');\n                  \n                  \/\/ Nur fortfahren wenn eine Target URL vorhanden ist\n                  var originalHref = calendarBtn.getAttribute('data-original-href');\n                  if (!originalHref) {\n                    \/\/ Beim ersten Mal die urspr\u00fcngliche URL speichern\n                    originalHref = calendarBtn.getAttribute('href');\n                    if (originalHref) {\n                      calendarBtn.setAttribute('data-original-href', originalHref);\n                    }\n                  }\n                  \n                  \/\/ Ersetze den Platzhalter in der urspr\u00fcnglichen URL (nur wenn URL vorhanden)\n                  if (originalHref) {\n                    var newHref = originalHref.replace('{{selected_date}}', formattedDate).replace('%7B%7Bselected_date%7D%7D', formattedDate);\n                    calendarBtn.setAttribute('href', newHref);\n                  }\n                }\n              }],\n                             onReady: [function(){\n                 markDoneDays();\n               }]\n            });\n\n            \/\/ Client-Cache und Nachladen pro Monat\n            var tsMonthCache = {}; \/\/ key: 'YYYY-MM' -> Set('YYYY-MM-DD')\n            function tsKey(y, m){ return String(y) + '-' + ('0' + String(m)).slice(-2); }\n            function tsAjaxUrl(){ return 'https:\/\/my-ehealth.de\/wp-admin\/admin-ajax.php'; }\n            \/\/ Seed Cache f\u00fcr aktuellen Monat\n            (function seed(){\n              var y = fpInstance.currentYear; var m = fpInstance.currentMonth + 1;\n              if (tsDoneDates.size > 0) { tsMonthCache[tsKey(y, m)] = new Set(Array.from(tsDoneDates)); }\n            })();\n\n            function ensureMonth(y, m, cb){\n              var key = tsKey(y, m);\n              if (tsMonthCache[key]) { if (cb) cb(tsMonthCache[key]); return; }\n              var fd = new FormData();\n              fd.append('action', 'calendar_get_month_entries');\n              fd.append('calendar_id', '10650');\n              fd.append('year', String(y));\n              fd.append('month', String(m));\n              fetch(tsAjaxUrl(), { method: 'POST', credentials: 'same-origin', body: fd })\n                .then(function(r){ return r.json(); })\n                .then(function(data){\n                  var set = new Set();\n                  if (data && Array.isArray(data.dates)) { data.dates.forEach(function(d){ set.add(d); }); }\n                  tsMonthCache[key] = set;\n                  if (cb) cb(set);\n                })\n                .catch(function(){ if (cb) cb(new Set()); });\n            }\n\n            function useMonthSet(y, m, set){\n              tsDoneDates = set || new Set();\n              markDoneDays();\n            }\n\n            fpInstance.set('onMonthChange', (fpInstance.config.onMonthChange || []).concat([function(){\n              var y = fpInstance.currentYear; var m = fpInstance.currentMonth + 1;\n              ensureMonth(y, m, function(set){ useMonthSet(y, m, set); });\n            }]));\n\n            fpInstance.set('onYearChange', (fpInstance.config.onYearChange || []).concat([function(){\n              var y = fpInstance.currentYear; var m = fpInstance.currentMonth + 1;\n              ensureMonth(y, m, function(set){ useMonthSet(y, m, set); });\n            }]));\n\n            const calRoot = fpCal.querySelector('.flatpickr-calendar');\n            if (calRoot) calRoot.id = 'fpCalendarWidget-cal-69d96d48a842d';\n            try {\n              if (calRoot) {\n                \/\/ Zusatz-Klassen f\u00fcr Widget\n                var extraClasses = \"\";\n                if (extraClasses && typeof extraClasses === 'string') {\n                  extraClasses.split(\/\\s+\/).filter(Boolean).forEach(function(c){ calRoot.classList.add(c); });\n                }\n                \/\/ Zusatz-Styles f\u00fcr Widget\n                var extraStyle = \"\";\n                if (extraStyle && typeof extraStyle === 'string') {\n                  calRoot.setAttribute('style', (calRoot.getAttribute('style')||'') + (extraStyle ? ';' + extraStyle : ''));\n                }\n              }\n            } catch(e){}\n            const header = calRoot && calRoot.querySelector('.flatpickr-months');\n            if (header) header.id = 'fpHeader-cal-69d96d48a842d';\n            const prevBtn = calRoot && calRoot.querySelector('.flatpickr-prev-month');\n            if (prevBtn) prevBtn.id = 'fpPrev-cal-69d96d48a842d';\n            const nextBtn = calRoot && calRoot.querySelector('.flatpickr-next-month');\n            if (nextBtn) nextBtn.id = 'fpNext-cal-69d96d48a842d';\n            const curMonth = calRoot && calRoot.querySelector('.flatpickr-current-month .cur-month');\n            if (curMonth) curMonth.id = 'fpCurMonth-cal-69d96d48a842d';\n            const curYear = calRoot && calRoot.querySelector('.flatpickr-current-month .numInput.cur-year');\n            if (curYear) {\n              curYear.id = 'fpCurYear-cal-69d96d48a842d';\n              curYear.setAttribute('inputmode','numeric');\n              curYear.setAttribute('aria-label','Jahr');\n            }\n            const yearWrapper = calRoot && calRoot.querySelector('.flatpickr-current-month .numInputWrapper');\n            if (yearWrapper) yearWrapper.id = 'fpYearWrapper-cal-69d96d48a842d';\n            const monthSelect = calRoot && calRoot.querySelector('.flatpickr-monthDropdown-months');\n            if (monthSelect) monthSelect.id = 'fpMonthSelect-cal-69d96d48a842d';\n\n            function markDoneDays(){\n              var root = document.getElementById('fpCalendarWidget-cal-69d96d48a842d');\n              if (!root || tsDoneDates.size === 0) return;\n              var y = fpInstance.currentYear;\n              var m0 = fpInstance.currentMonth; \/\/ 0-11\n              var days = root.querySelectorAll('.flatpickr-day');\n              days.forEach(function(el){\n                el.classList.remove('ts-has-entry');\n                var dn = parseInt(el.textContent, 10);\n                if (!dn || isNaN(dn)) return;\n                var yy = y, mm0 = m0;\n                if (el.classList.contains('prevMonthDay')) { mm0 = (m0 + 11) % 12; if (m0 === 0) yy = y - 1; }\n                else if (el.classList.contains('nextMonthDay')) { mm0 = (m0 + 1) % 12; if (m0 === 11) yy = y + 1; }\n                var ds = yy + '-' + ('0' + (mm0+1)).slice(-2) + '-' + ('0' + dn).slice(-2);\n                if (tsDoneDates.has(ds)) {\n                  el.classList.add('ts-has-entry');\n                }\n              });\n            }\n\n            markDoneDays();\n\n            \/\/ Button-Klick: weiterleiten mit Params calendar_id und date (YYYY-MM-DD)\n            var btn = document.getElementById('ts-calendar-btn-cal-69d96d48a842d');\n            if (btn) {\n              \/\/ Helper to truly disable\/enable anchor\n              function setAnchorDisabled(anchor, disabled){\n                if (disabled){\n                  anchor.setAttribute('aria-disabled','true');\n                  anchor.classList.add('disabled');\n                  anchor.style.pointerEvents = 'none';\n                  anchor.tabIndex = -1;\n                } else {\n                  anchor.removeAttribute('aria-disabled');\n                  anchor.classList.remove('disabled');\n                  anchor.style.pointerEvents = '';\n                  anchor.tabIndex = 0;\n                }\n              }\n\n              \/\/ initial disabled, wenn kein Datum\n              var hasDate = (fpInstance && fpInstance.selectedDates && fpInstance.selectedDates.length > 0);\n              setAnchorDisabled(btn, !hasDate);\n\n              \/\/ Toggle per Flatpickr onChange\n              fpInstance.set('onChange', (fpInstance.config.onChange || []).concat([function(selectedDates){\n                setAnchorDisabled(btn, !(selectedDates && selectedDates.length > 0));\n              }]));\n\n              \/\/ Toggle bei manueller Eingabe\n              fpInput.addEventListener('input', function(){\n                var parsed = flatpickr.parseDate(fpInput.value, 'd.m.Y');\n                setAnchorDisabled(btn, !parsed);\n              });\n\n              btn.addEventListener('click', function(e){\n                if (btn.getAttribute('aria-disabled') === 'true') { e.preventDefault(); return; }\n                e.preventDefault();\n                var baseUrl = this.getAttribute('href') || '';\n                var selDate = '';\n                if (fpInstance && fpInstance.selectedDates && fpInstance.selectedDates.length > 0) {\n                  selDate = fpInstance.formatDate(fpInstance.selectedDates[0], 'Y-m-d');\n                } else if (fpInput && fpInput.value) {\n                  var parsed = flatpickr.parseDate(fpInput.value, 'd.m.Y');\n                  if (parsed) selDate = flatpickr.formatDate(parsed, 'Y-m-d');\n                }\n                var url = new URL(baseUrl, window.location.origin);\n                url.searchParams.set('calendar_id', '10650');\n                if (selDate) url.searchParams.set('date', selDate);\n                window.location.assign(url.toString());\n              });\n            }\n          }\n        });\n        <\/script>\n        <div class=\"modal fade\" id=\"inactive-modal\" data-userlogged =\"0\"  role=\"dialog\" aria-labelledby=\"inactive-modal-label\"\n    aria-hidden=\"true\" hidden style=\"overflow: auto;\">\n    <div class=\"modal-dialog modal-lg modal-dialog-centered\" role=\"document\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <h3 class=\"modal-title\" id=\"inactive-modal-title-label\">Zeit\u00fcberschreitung der Browsersitzung<\/h3>\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                    <span aria-hidden=\"true\">&times;<\/span>\n                <\/button>\n            <\/div>\n            <div class=\"modal-body\">\n              <p class=\"mb-0\">Sie haben das System l\u00e4ngere Zeit nicht mehr genutzt. Aus Sicherheitsgr\u00fcnden werden Sie automatisch aus dem System abgemeldet.\n              <\/p>\n            <\/div>\n            <div class=\"modal-footer\">\n                    <button type=\"button\" class=\"btn btn-secondary mr-auto\" data-dismiss=\"modal\" style=\"float: left;\">Abbrechen<\/button>\n                    <button id=\"continue-session\" type=\"button\" class=\"btn btn-primary\" data-dismiss=\"modal\">Sitzung fortsetzen <span class=\"countdown\"><\/span><\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<div class=\"modal fade\" id=\"logged-out-modal\" role=\"dialog\" aria-labelledby=\"logged-out-modal-label\"\n    aria-hidden=\"true\" hidden style=\"overflow: auto;\">\n    <div class=\"modal-dialog modal-lg modal-dialog-centered\" role=\"document\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header\">\n                <h3 class=\"modal-title\" id=\"logged-out-modal-title-label\">Zeit\u00fcberschreitung der Browsersitzung<\/h3>\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                    <span aria-hidden=\"true\">&times;<\/span>\n                <\/button>\n            <\/div>\n            <div class=\"modal-body\">\n              <p class=\"mb-0\">Sie haben das System l\u00e4ngere Zeit nicht mehr genutzt. Zu Ihrer eigenen Sicherheit wurden Sie daher automatisch aus dem System abgemeldet.\n              <\/p>\n            <\/div>\n            <div class=\"modal-footer\">\n                <a id=\"continue-session-done\" href=\"https:\/\/my-ehealth.de\" role=\"button\" class=\"btn btn-primary\">Zur Startseite<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div> ","protected":false},"excerpt":{"rendered":"Tagebuch Zeit\u00fcberschreitung der Browsersitzung &times; Sie haben das System l\u00e4ngere Zeit nicht mehr genutzt. Aus Sicherheitsgr\u00fcnden werden Sie automatisch aus dem System abgemeldet. Abbrechen Sitzung fortsetzen Zeit\u00fcberschreitung der Browsersitzung &times; Sie haben das System l\u00e4ngere Zeit nicht mehr genutzt. Zu Ihrer eigenen Sicherheit wurden Sie daher automatisch aus dem System abgemeldet. Zur Startseite","protected":false},"author":21,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-10637","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/my-ehealth.de\/index.php?rest_route=\/wp\/v2\/pages\/10637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/my-ehealth.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/my-ehealth.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/my-ehealth.de\/index.php?rest_route=\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/my-ehealth.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10637"}],"version-history":[{"count":3,"href":"https:\/\/my-ehealth.de\/index.php?rest_route=\/wp\/v2\/pages\/10637\/revisions"}],"predecessor-version":[{"id":10656,"href":"https:\/\/my-ehealth.de\/index.php?rest_route=\/wp\/v2\/pages\/10637\/revisions\/10656"}],"wp:attachment":[{"href":"https:\/\/my-ehealth.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}