diff --git a/demo/pages/advanced-use.vue b/demo/pages/advanced-use.vue index f692e182..e2b79512 100644 --- a/demo/pages/advanced-use.vue +++ b/demo/pages/advanced-use.vue @@ -428,7 +428,7 @@ onUnmounted(() => {

"name" and "startDate" are still required for organizational purposes, but every other event parameter can be skipped in this case.
For Microsoft services, the "name" will be used as name for the calendar.
- (Microsoft Teams is not yet supported and will be automatically disabled.) + (If the user's browser does not recognize any installed calendar app, this might lead to a blank screen. The PRO version mitigates this with some explenatory middleware screen.)

@@ -437,7 +437,7 @@ onUnmounted(() => {

"name" und "startDate" sind aus technisch-organisatorischen Gründen weiterhin verpflichtende Angaben. Alle weiteren Parameter sind in diesem Fall aber optional.
Bei Microsoft-Diensten wird der "name" als Name für den geteilten Kalender genutzt.
- (Microsoft Teams wird noch nicht unterstützt und der Link automatisch deaktiviert. + (Sollte der Browser des Nutzers keine installierte Kalender-App erkennen, kann dies zu einer leeren Seite führen. Die PRO-Version optimiert dies mit einem erklärenden Zwischenbildschirm.)

diff --git a/demo/pages/configuration.vue b/demo/pages/configuration.vue index 7bb02877..403fd717 100644 --- a/demo/pages/configuration.vue +++ b/demo/pages/configuration.vue @@ -490,16 +490,18 @@ definePageMeta({ As an alternative to providing a specific predefined event, you can also host a calendar and offer it for subscription (requires a hosted calendar).
To offer the subscription via the button, you need to also specify the icsFile option.

"Name" and "startDate" would be still required for organizational purposes, but every other event parameter can be skipped in the subscription case.
- For Microsoft services, the "Name" will be used as name for the calendar.

+ For Microsoft services, the "Name" will be used as name for the calendar.
Microsoft Teams is not yet supported and will be automatically disabled.

+ If the user's browser does not recognize any installed calendar app, this might lead to a blank screen. The PRO version mitigates this with some explenatory middleware screen.

{{ $t('labels.example') }} Alternativ zur Angabe eines bestimmten vordefinierten Events kannst du auch einen Kalender bereitstellen und ihn zum Abonnieren anbieten (erfordert einen gehosteten Kalender).
Um das Abonnement über den Button anzubieten, musst du zusätzlich die icsFile-Option definieren.

"Name" und "startDate" wären für organisatorische Zwecke immer noch erforderlich, aber jeder andere Event-Parameter kann im Abonnementfall übersprungen werden.
- Für Microsoft-Dienste wird der "Name" als Name für den Kalender verwendet.

+ Für Microsoft-Dienste wird der "Name" als Name für den Kalender verwendet.
Microsoft Teams wird derzeit nicht unterstützt und automatisch deaktiviert.

+ Sollte der Browser des Nutzers keine installierte Kalender-App erkennen, kann dies zu einer leeren Seite führen. Die PRO-Version optimiert dies mit einem erklärenden Zwischenbildschirm.

{{ $t('labels.example') }} diff --git a/src/atcb-init.js b/src/atcb-init.js index 6c4cf075..51e524e0 100644 --- a/src/atcb-init.js +++ b/src/atcb-init.js @@ -55,7 +55,7 @@ if (atcbIsBrowser()) { if (!this.data.name || this.data.name === '') { // if no data yet, we try reading attributes or the innerHTML of the host element try { - this.data = atcb_read_attributes(this); + this.data = atcb_read_attributes(this, this.debug); } catch (e) { if (this.debug) { atcb_render_debug_msg(this.shadowRoot, e); @@ -112,7 +112,7 @@ if (atcbIsBrowser()) { elem.innerHTML = template; this.shadowRoot.append(elem.content.cloneNode(true)); try { - this.data = atcb_read_attributes(this); + this.data = atcb_read_attributes(this, this.debug); } catch (e) { if (this.debug) { atcb_render_debug_msg(this.shadowRoot, e); @@ -175,7 +175,7 @@ if (atcbIsBrowser()) { } // read data attributes -function atcb_read_attributes(el) { +function atcb_read_attributes(el, debug = false) { let data = {}; for (let i = 0; i < atcbWcParams.length; i++) { // reading data, but removing real code line breaks before parsing. @@ -244,7 +244,7 @@ function atcb_read_attributes(el) { return ''; })(); // abort on missing input data - if (atcbJsonInput.length == 0) { + if (atcbJsonInput.length === 0 && debug) { console.error(data.validationError); throw new Error('Add to Calendar Button generation failed: no data provided or missing required fields - see console logs for details'); }