]> source.dussan.org Git - nextcloud-server.git/commitdiff
Modernize the dav admin settings 32557/head
authorCarl Schwan <carl@carlschwan.eu>
Mon, 23 May 2022 11:45:43 +0000 (13:45 +0200)
committerCarl Schwan <carl@carlschwan.eu>
Tue, 24 May 2022 08:25:52 +0000 (10:25 +0200)
- Use nextcloud-vue components (with proper doc link now)
- Add underline to links so we can see them (accessibility++)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
apps/dav/src/views/CalDavSettings.vue
dist/dav-settings-admin-caldav.js
dist/dav-settings-admin-caldav.js.map

index f1d39abee4273ef30cbae00e0575e755603c4e21..714fc9a4d325ae1ad672c6d42707cd24c3495175 100644 (file)
@@ -1,20 +1,17 @@
 <template>
-       <div class="section">
-               <h2>{{ $t('dav', 'Calendar server') }}</h2>
+       <SettingsSection :title="$t('dav', 'Calendar server')"
+               :doc-url="userSyncCalendarsDocUrl">
                <!-- Can use v-html as:
                        - $t passes the translated string through DOMPurify.sanitize,
                        - replacement strings are not user-controlled. -->
                <!-- eslint-disable-next-line vue/no-v-html -->
                <p class="settings-hint" v-html="hint" />
                <p>
-                       <input id="caldavSendInvitations"
-                               v-model="sendInvitations"
-                               type="checkbox"
-                               class="checkbox">
-                       <label for="caldavSendInvitations">
+                       <CheckboxRadioSwitch id="caldavSendInvitations"
+                               :checked.sync="sendInvitations"
+                               type="switch">
                                {{ $t('dav', 'Send invitations to attendees') }}
-                       </label>
-                       <br>
+                       </CheckboxRadioSwitch>
                        <!-- Can use v-html as:
                                - $t passes the translated string through DOMPurify.sanitize,
                                - replacement strings are not user-controlled. -->
                        <em v-html="sendInvitationsHelpText" />
                </p>
                <p>
-                       <input id="caldavGenerateBirthdayCalendar"
-                               v-model="generateBirthdayCalendar"
-                               type="checkbox"
+                       <CheckboxRadioSwitch id="caldavGenerateBirthdayCalendar"
+                               :checked.sync="generateBirthdayCalendar"
+                               type="switch"
                                class="checkbox">
-                       <label for="caldavGenerateBirthdayCalendar">
                                {{ $t('dav', 'Automatically generate a birthday calendar') }}
-                       </label>
-                       <br>
+                       </CheckboxRadioSwitch>
                        <em>
                                {{ $t('dav', 'Birthday calendars will be generated by a background job.') }}
                        </em>
                        </em>
                </p>
                <p>
-                       <input id="caldavSendEventReminders"
-                               v-model="sendEventReminders"
-                               type="checkbox"
-                               class="checkbox">
-                       <label for="caldavSendEventReminders">
+                       <CheckboxRadioSwitch id="caldavSendEventReminders"
+                               :checked.sync="sendEventReminders"
+                               type="switch">
                                {{ $t('dav', 'Send notifications for events') }}
-                       </label>
-                       <br>
+                       </CheckboxRadioSwitch>
                        <!-- Can use v-html as:
                                - $t passes the translated string through DOMPurify.sanitize,
                                - replacement strings are not user-controlled. -->
                        </em>
                </p>
                <p class="indented">
-                       <input id="caldavSendEventRemindersToSharedGroupMembers"
-                               v-model="sendEventRemindersToSharedGroupMembers"
-                               type="checkbox"
-                               class="checkbox"
+                       <CheckboxRadioSwitch id="caldavSendEventRemindersToSharedGroupMembers"
+                               :checked.sync="sendEventRemindersToSharedGroupMembers"
+                               type="switch"
                                :disabled="!sendEventReminders">
-                       <label for="caldavSendEventRemindersToSharedGroupMembers">
                                {{ $t('dav', 'Send reminder notifications to calendar sharees as well' ) }}
-                       </label>
-                       <br>
+                       </CheckboxRadioSwitch>
                        <em>
                                {{ $t('dav', 'Reminders are always sent to organizers and attendees.' ) }}
                        </em>
                </p>
                <p class="indented">
-                       <input id="caldavSendEventRemindersPush"
-                               v-model="sendEventRemindersPush"
-                               type="checkbox"
-                               class="checkbox"
+                       <CheckboxRadioSwitch id="caldavSendEventRemindersPush"
+                               :checked.sync="sendEventRemindersPush"
+                               type="switch"
                                :disabled="!sendEventReminders">
-                       <label for="caldavSendEventRemindersPush">
                                {{ $t('dav', 'Enable notifications for events via push') }}
-                       </label>
+                       </CheckboxRadioSwitch>
                </p>
-       </div>
+       </SettingsSection>
 </template>
 
-<style lang="scss" scoped>
-       .indented {
-               padding-left: 28px;
-       }
-</style>
-
 <script>
 import axios from '@nextcloud/axios'
 import { generateUrl } from '@nextcloud/router'
 import { loadState } from '@nextcloud/initial-state'
+import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
 
 const userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')
 
 export default {
        name: 'CalDavSettings',
+       components: {
+               CheckboxRadioSwitch,
+               SettingsSection,
+       },
+       data() {
+               return {
+                       userSyncCalendarsDocUrl,
+               }
+       },
        computed: {
                hint() {
                        const translated = this.$t(
@@ -151,3 +143,18 @@ export default {
        },
 }
 </script>
+
+<style scoped>
+       .indented {
+               padding-left: 28px;
+       }
+       /** Use deep selector to affect v-html */
+       * >>> a {
+               text-decoration: underline;
+       }
+       .settings-hint {
+               margin-top: -.2em;
+               margin-bottom: 1em;
+               opacity: .7;
+       }
+</style>
index 136dfe58cbdcaab47f57c5c0ba822fba622fe35d..080b23ac925d1da520299f60fcd4b649c0122b9d 100644 (file)
@@ -1,2 +1,2 @@
-!function(){"use strict";var e,n={46976:function(e,n,t){var a=t(20144),r=t(16453),s=t(9944),d=t(4820),i=t(79753),o=(0,r.loadState)("dav","userSyncCalendarsDocUrl","#"),l={name:"CalDavSettings",computed:{hint:function(){return this.$t("dav","Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.").replace("{calendarappstoreopen}",'<a target="_blank" href="../apps/office/calendar">').replace("{calendardocopen}",'<a target="_blank" href="'.concat(o,'" rel="noreferrer noopener">')).replace(/\{linkclose\}/g,"</a>")},sendInvitationsHelpText:function(){return this.$t("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")},sendEventRemindersHelpText:function(){return this.$t("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")}},watch:{generateBirthdayCalendar:function(e){var n=e?"/apps/dav/enableBirthdayCalendar":"/apps/dav/disableBirthdayCalendar";d.default.post((0,i.generateUrl)(n))},sendInvitations:function(e){OCP.AppConfig.setValue("dav","sendInvitations",e?"yes":"no")},sendEventReminders:function(e){OCP.AppConfig.setValue("dav","sendEventReminders",e?"yes":"no")},sendEventRemindersToSharedGroupMembers:function(e){OCP.AppConfig.setValue("dav","sendEventRemindersToSharedGroupMembers",e?"yes":"no")},sendEventRemindersPush:function(e){OCP.AppConfig.setValue("dav","sendEventRemindersPush",e?"yes":"no")}}},c=t(93379),v=t.n(c),u=t(7795),m=t.n(u),p=t(90569),h=t.n(p),f=t(3565),b=t.n(f),y=t(19216),_=t.n(y),g=t(44589),E=t.n(g),R=t(48885),k={};k.styleTagTransform=E(),k.setAttributes=b(),k.insert=h().bind(null,"head"),k.domAPI=m(),k.insertStyleElement=_(),v()(R.Z,k),R.Z&&R.Z.locals&&R.Z.locals;var C=(0,t(51900).Z)(l,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"section"},[t("h2",[e._v(e._s(e.$t("dav","Calendar server")))]),e._v(" "),t("p",{staticClass:"settings-hint",domProps:{innerHTML:e._s(e.hint)}}),e._v(" "),t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.sendInvitations,expression:"sendInvitations"}],staticClass:"checkbox",attrs:{id:"caldavSendInvitations",type:"checkbox"},domProps:{checked:Array.isArray(e.sendInvitations)?e._i(e.sendInvitations,null)>-1:e.sendInvitations},on:{change:function(n){var t=e.sendInvitations,a=n.target,r=!!a.checked;if(Array.isArray(t)){var s=e._i(t,null);a.checked?s<0&&(e.sendInvitations=t.concat([null])):s>-1&&(e.sendInvitations=t.slice(0,s).concat(t.slice(s+1)))}else e.sendInvitations=r}}}),e._v(" "),t("label",{attrs:{for:"caldavSendInvitations"}},[e._v("\n\t\t\t"+e._s(e.$t("dav","Send invitations to attendees"))+"\n\t\t")]),e._v(" "),t("br"),e._v(" "),t("em",{domProps:{innerHTML:e._s(e.sendInvitationsHelpText)}})]),e._v(" "),t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.generateBirthdayCalendar,expression:"generateBirthdayCalendar"}],staticClass:"checkbox",attrs:{id:"caldavGenerateBirthdayCalendar",type:"checkbox"},domProps:{checked:Array.isArray(e.generateBirthdayCalendar)?e._i(e.generateBirthdayCalendar,null)>-1:e.generateBirthdayCalendar},on:{change:function(n){var t=e.generateBirthdayCalendar,a=n.target,r=!!a.checked;if(Array.isArray(t)){var s=e._i(t,null);a.checked?s<0&&(e.generateBirthdayCalendar=t.concat([null])):s>-1&&(e.generateBirthdayCalendar=t.slice(0,s).concat(t.slice(s+1)))}else e.generateBirthdayCalendar=r}}}),e._v(" "),t("label",{attrs:{for:"caldavGenerateBirthdayCalendar"}},[e._v("\n\t\t\t"+e._s(e.$t("dav","Automatically generate a birthday calendar"))+"\n\t\t")]),e._v(" "),t("br"),e._v(" "),t("em",[e._v("\n\t\t\t"+e._s(e.$t("dav","Birthday calendars will be generated by a background job."))+"\n\t\t")]),e._v(" "),t("br"),e._v(" "),t("em",[e._v("\n\t\t\t"+e._s(e.$t("dav","Hence they will not be available immediately after enabling but will show up after some time."))+"\n\t\t")])]),e._v(" "),t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.sendEventReminders,expression:"sendEventReminders"}],staticClass:"checkbox",attrs:{id:"caldavSendEventReminders",type:"checkbox"},domProps:{checked:Array.isArray(e.sendEventReminders)?e._i(e.sendEventReminders,null)>-1:e.sendEventReminders},on:{change:function(n){var t=e.sendEventReminders,a=n.target,r=!!a.checked;if(Array.isArray(t)){var s=e._i(t,null);a.checked?s<0&&(e.sendEventReminders=t.concat([null])):s>-1&&(e.sendEventReminders=t.slice(0,s).concat(t.slice(s+1)))}else e.sendEventReminders=r}}}),e._v(" "),t("label",{attrs:{for:"caldavSendEventReminders"}},[e._v("\n\t\t\t"+e._s(e.$t("dav","Send notifications for events"))+"\n\t\t")]),e._v(" "),t("br"),e._v(" "),t("em",{domProps:{innerHTML:e._s(e.sendEventRemindersHelpText)}}),e._v(" "),t("br"),e._v(" "),t("em",[e._v("\n\t\t\t"+e._s(e.$t("dav","Notifications are sent via background jobs, so these must occur often enough."))+"\n\t\t")])]),e._v(" "),t("p",{staticClass:"indented"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.sendEventRemindersToSharedGroupMembers,expression:"sendEventRemindersToSharedGroupMembers"}],staticClass:"checkbox",attrs:{id:"caldavSendEventRemindersToSharedGroupMembers",type:"checkbox",disabled:!e.sendEventReminders},domProps:{checked:Array.isArray(e.sendEventRemindersToSharedGroupMembers)?e._i(e.sendEventRemindersToSharedGroupMembers,null)>-1:e.sendEventRemindersToSharedGroupMembers},on:{change:function(n){var t=e.sendEventRemindersToSharedGroupMembers,a=n.target,r=!!a.checked;if(Array.isArray(t)){var s=e._i(t,null);a.checked?s<0&&(e.sendEventRemindersToSharedGroupMembers=t.concat([null])):s>-1&&(e.sendEventRemindersToSharedGroupMembers=t.slice(0,s).concat(t.slice(s+1)))}else e.sendEventRemindersToSharedGroupMembers=r}}}),e._v(" "),t("label",{attrs:{for:"caldavSendEventRemindersToSharedGroupMembers"}},[e._v("\n\t\t\t"+e._s(e.$t("dav","Send reminder notifications to calendar sharees as well"))+"\n\t\t")]),e._v(" "),t("br"),e._v(" "),t("em",[e._v("\n\t\t\t"+e._s(e.$t("dav","Reminders are always sent to organizers and attendees."))+"\n\t\t")])]),e._v(" "),t("p",{staticClass:"indented"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.sendEventRemindersPush,expression:"sendEventRemindersPush"}],staticClass:"checkbox",attrs:{id:"caldavSendEventRemindersPush",type:"checkbox",disabled:!e.sendEventReminders},domProps:{checked:Array.isArray(e.sendEventRemindersPush)?e._i(e.sendEventRemindersPush,null)>-1:e.sendEventRemindersPush},on:{change:function(n){var t=e.sendEventRemindersPush,a=n.target,r=!!a.checked;if(Array.isArray(t)){var s=e._i(t,null);a.checked?s<0&&(e.sendEventRemindersPush=t.concat([null])):s>-1&&(e.sendEventRemindersPush=t.slice(0,s).concat(t.slice(s+1)))}else e.sendEventRemindersPush=r}}}),e._v(" "),t("label",{attrs:{for:"caldavSendEventRemindersPush"}},[e._v("\n\t\t\t"+e._s(e.$t("dav","Enable notifications for events via push"))+"\n\t\t")])])])}),[],!1,null,"19a89582",null).exports;a.default.prototype.$t=s.translate,new(a.default.extend(C))({name:"CalDavSettingsView",data:function(){return{sendInvitations:(0,r.loadState)("dav","sendInvitations"),generateBirthdayCalendar:(0,r.loadState)("dav","generateBirthdayCalendar"),sendEventReminders:(0,r.loadState)("dav","sendEventReminders"),sendEventRemindersToSharedGroupMembers:(0,r.loadState)("dav","sendEventRemindersToSharedGroupMembers"),sendEventRemindersPush:(0,r.loadState)("dav","sendEventRemindersPush")}}}).$mount("#settings-admin-caldav")},48885:function(e,n,t){var a=t(87537),r=t.n(a),s=t(23645),d=t.n(s)()(r());d.push([e.id,".indented[data-v-19a89582]{padding-left:28px}","",{version:3,sources:["webpack://./apps/dav/src/views/CalDavSettings.vue"],names:[],mappings:"AAuFA,2BACC,iBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.indented {\n\tpadding-left: 28px;\n}\n"],sourceRoot:""}]),n.Z=d}},t={};function a(e){var r=t[e];if(void 0!==r)return r.exports;var s=t[e]={id:e,loaded:!1,exports:{}};return n[e].call(s.exports,s,s.exports,a),s.loaded=!0,s.exports}a.m=n,a.amdD=function(){throw new Error("define cannot be used indirect")},a.amdO={},e=[],a.O=function(n,t,r,s){if(!t){var d=1/0;for(c=0;c<e.length;c++){t=e[c][0],r=e[c][1],s=e[c][2];for(var i=!0,o=0;o<t.length;o++)(!1&s||d>=s)&&Object.keys(a.O).every((function(e){return a.O[e](t[o])}))?t.splice(o--,1):(i=!1,s<d&&(d=s));if(i){e.splice(c--,1);var l=r();void 0!==l&&(n=l)}}return n}s=s||0;for(var c=e.length;c>0&&e[c-1][2]>s;c--)e[c]=e[c-1];e[c]=[t,r,s]},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,{a:n}),n},a.d=function(e,n){for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},a.j=2231,function(){a.b=document.baseURI||self.location.href;var e={2231:0};a.O.j=function(n){return 0===e[n]};var n=function(n,t){var r,s,d=t[0],i=t[1],o=t[2],l=0;if(d.some((function(n){return 0!==e[n]}))){for(r in i)a.o(i,r)&&(a.m[r]=i[r]);if(o)var c=o(a)}for(n&&n(t);l<d.length;l++)s=d[l],a.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return a.O(c)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))}();var r=a.O(void 0,[7874],(function(){return a(46976)}));r=a.O(r)}();
-//# sourceMappingURL=dav-settings-admin-caldav.js.map?v=61c319bf6e1cae626f58
\ No newline at end of file
+!function(){"use strict";var t,e={14473:function(t,e,n){var a=n(20144),s=n(16453),r=n(9944),i=n(4820),d=n(79753),o=n(67776),l=n.n(o),c=n(7826),v=n.n(c),p=(0,s.loadState)("dav","userSyncCalendarsDocUrl","#"),u={name:"CalDavSettings",components:{CheckboxRadioSwitch:v(),SettingsSection:l()},data:function(){return{userSyncCalendarsDocUrl:p}},computed:{hint:function(){return this.$t("dav","Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.").replace("{calendarappstoreopen}",'<a target="_blank" href="../apps/office/calendar">').replace("{calendardocopen}",'<a target="_blank" href="'.concat(p,'" rel="noreferrer noopener">')).replace(/\{linkclose\}/g,"</a>")},sendInvitationsHelpText:function(){return this.$t("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")},sendEventRemindersHelpText:function(){return this.$t("dav","Please make sure to properly set up {emailopen}the email server{linkclose}.").replace("{emailopen}",'<a href="../admin#mail_general_settings">').replace("{linkclose}","</a>")}},watch:{generateBirthdayCalendar:function(t){var e=t?"/apps/dav/enableBirthdayCalendar":"/apps/dav/disableBirthdayCalendar";i.default.post((0,d.generateUrl)(e))},sendInvitations:function(t){OCP.AppConfig.setValue("dav","sendInvitations",t?"yes":"no")},sendEventReminders:function(t){OCP.AppConfig.setValue("dav","sendEventReminders",t?"yes":"no")},sendEventRemindersToSharedGroupMembers:function(t){OCP.AppConfig.setValue("dav","sendEventRemindersToSharedGroupMembers",t?"yes":"no")},sendEventRemindersPush:function(t){OCP.AppConfig.setValue("dav","sendEventRemindersPush",t?"yes":"no")}}},h=n(93379),m=n.n(h),f=n(7795),b=n.n(f),g=n(90569),C=n.n(g),y=n(3565),S=n.n(y),k=n(19216),x=n.n(k),R=n(44589),A=n.n(R),w=n(39018),_={};_.styleTagTransform=A(),_.setAttributes=S(),_.insert=C().bind(null,"head"),_.domAPI=b(),_.insertStyleElement=x(),m()(w.Z,_),w.Z&&w.Z.locals&&w.Z.locals;var E=(0,n(51900).Z)(u,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SettingsSection",{attrs:{title:t.$t("dav","Calendar server"),"doc-url":t.userSyncCalendarsDocUrl}},[n("p",{staticClass:"settings-hint",domProps:{innerHTML:t._s(t.hint)}}),t._v(" "),n("p",[n("CheckboxRadioSwitch",{attrs:{id:"caldavSendInvitations",checked:t.sendInvitations,type:"switch"},on:{"update:checked":function(e){t.sendInvitations=e}}},[t._v("\n\t\t\t"+t._s(t.$t("dav","Send invitations to attendees"))+"\n\t\t")]),t._v(" "),n("em",{domProps:{innerHTML:t._s(t.sendInvitationsHelpText)}})],1),t._v(" "),n("p",[n("CheckboxRadioSwitch",{staticClass:"checkbox",attrs:{id:"caldavGenerateBirthdayCalendar",checked:t.generateBirthdayCalendar,type:"switch"},on:{"update:checked":function(e){t.generateBirthdayCalendar=e}}},[t._v("\n\t\t\t"+t._s(t.$t("dav","Automatically generate a birthday calendar"))+"\n\t\t")]),t._v(" "),n("em",[t._v("\n\t\t\t"+t._s(t.$t("dav","Birthday calendars will be generated by a background job."))+"\n\t\t")]),t._v(" "),n("br"),t._v(" "),n("em",[t._v("\n\t\t\t"+t._s(t.$t("dav","Hence they will not be available immediately after enabling but will show up after some time."))+"\n\t\t")])],1),t._v(" "),n("p",[n("CheckboxRadioSwitch",{attrs:{id:"caldavSendEventReminders",checked:t.sendEventReminders,type:"switch"},on:{"update:checked":function(e){t.sendEventReminders=e}}},[t._v("\n\t\t\t"+t._s(t.$t("dav","Send notifications for events"))+"\n\t\t")]),t._v(" "),n("em",{domProps:{innerHTML:t._s(t.sendEventRemindersHelpText)}}),t._v(" "),n("br"),t._v(" "),n("em",[t._v("\n\t\t\t"+t._s(t.$t("dav","Notifications are sent via background jobs, so these must occur often enough."))+"\n\t\t")])],1),t._v(" "),n("p",{staticClass:"indented"},[n("CheckboxRadioSwitch",{attrs:{id:"caldavSendEventRemindersToSharedGroupMembers",checked:t.sendEventRemindersToSharedGroupMembers,type:"switch",disabled:!t.sendEventReminders},on:{"update:checked":function(e){t.sendEventRemindersToSharedGroupMembers=e}}},[t._v("\n\t\t\t"+t._s(t.$t("dav","Send reminder notifications to calendar sharees as well"))+"\n\t\t")]),t._v(" "),n("em",[t._v("\n\t\t\t"+t._s(t.$t("dav","Reminders are always sent to organizers and attendees."))+"\n\t\t")])],1),t._v(" "),n("p",{staticClass:"indented"},[n("CheckboxRadioSwitch",{attrs:{id:"caldavSendEventRemindersPush",checked:t.sendEventRemindersPush,type:"switch",disabled:!t.sendEventReminders},on:{"update:checked":function(e){t.sendEventRemindersPush=e}}},[t._v("\n\t\t\t"+t._s(t.$t("dav","Enable notifications for events via push"))+"\n\t\t")])],1)])}),[],!1,null,"12bcaa82",null).exports;a.default.prototype.$t=r.translate,new(a.default.extend(E))({name:"CalDavSettingsView",data:function(){return{sendInvitations:(0,s.loadState)("dav","sendInvitations"),generateBirthdayCalendar:(0,s.loadState)("dav","generateBirthdayCalendar"),sendEventReminders:(0,s.loadState)("dav","sendEventReminders"),sendEventRemindersToSharedGroupMembers:(0,s.loadState)("dav","sendEventRemindersToSharedGroupMembers"),sendEventRemindersPush:(0,s.loadState)("dav","sendEventRemindersPush")}}}).$mount("#settings-admin-caldav")},39018:function(t,e,n){var a=n(87537),s=n.n(a),r=n(23645),i=n.n(r)()(s());i.push([t.id,"\n.indented[data-v-12bcaa82] {\n\tpadding-left: 28px;\n}\n/** Use deep selector to affect v-html */\n*[data-v-12bcaa82] a {\n\ttext-decoration: underline;\n}\n.settings-hint[data-v-12bcaa82] {\n\tmargin-top: -.2em;\n\tmargin-bottom: 1em;\n\topacity: .7;\n}\n","",{version:3,sources:["webpack://./apps/dav/src/views/CalDavSettings.vue"],names:[],mappings:";AAmJA;CACA,kBAAA;AACA;AACA,wCAAA;AACA;CACA,0BAAA;AACA;AACA;CACA,iBAAA;CACA,kBAAA;CACA,WAAA;AACA",sourcesContent:["<template>\n\t<SettingsSection :title=\"$t('dav', 'Calendar server')\"\n\t\t:doc-url=\"userSyncCalendarsDocUrl\">\n\t\t\x3c!-- Can use v-html as:\n\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t- replacement strings are not user-controlled. --\x3e\n\t\t\x3c!-- eslint-disable-next-line vue/no-v-html --\x3e\n\t\t<p class=\"settings-hint\" v-html=\"hint\" />\n\t\t<p>\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendInvitations\"\n\t\t\t\t:checked.sync=\"sendInvitations\"\n\t\t\t\ttype=\"switch\">\n\t\t\t\t{{ $t('dav', 'Send invitations to attendees') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t\x3c!-- Can use v-html as:\n\t\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t\t- replacement strings are not user-controlled. --\x3e\n\t\t\t\x3c!-- eslint-disable-next-line vue/no-v-html --\x3e\n\t\t\t<em v-html=\"sendInvitationsHelpText\" />\n\t\t</p>\n\t\t<p>\n\t\t\t<CheckboxRadioSwitch id=\"caldavGenerateBirthdayCalendar\"\n\t\t\t\t:checked.sync=\"generateBirthdayCalendar\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\tclass=\"checkbox\">\n\t\t\t\t{{ $t('dav', 'Automatically generate a birthday calendar') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Birthday calendars will be generated by a background job.') }}\n\t\t\t</em>\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Hence they will not be available immediately after enabling but will show up after some time.') }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p>\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendEventReminders\"\n\t\t\t\t:checked.sync=\"sendEventReminders\"\n\t\t\t\ttype=\"switch\">\n\t\t\t\t{{ $t('dav', 'Send notifications for events') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t\x3c!-- Can use v-html as:\n\t\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t\t- replacement strings are not user-controlled. --\x3e\n\t\t\t\x3c!-- eslint-disable-next-line vue/no-v-html --\x3e\n\t\t\t<em v-html=\"sendEventRemindersHelpText\" />\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Notifications are sent via background jobs, so these must occur often enough.') }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p class=\"indented\">\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendEventRemindersToSharedGroupMembers\"\n\t\t\t\t:checked.sync=\"sendEventRemindersToSharedGroupMembers\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\t:disabled=\"!sendEventReminders\">\n\t\t\t\t{{ $t('dav', 'Send reminder notifications to calendar sharees as well' ) }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Reminders are always sent to organizers and attendees.' ) }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p class=\"indented\">\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendEventRemindersPush\"\n\t\t\t\t:checked.sync=\"sendEventRemindersPush\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\t:disabled=\"!sendEventReminders\">\n\t\t\t\t{{ $t('dav', 'Enable notifications for events via push') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t</p>\n\t</SettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'\nimport CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'\n\nconst userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')\n\nexport default {\n\tname: 'CalDavSettings',\n\tcomponents: {\n\t\tCheckboxRadioSwitch,\n\t\tSettingsSection,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tuserSyncCalendarsDocUrl,\n\t\t}\n\t},\n\tcomputed: {\n\t\thint() {\n\t\t\tconst translated = this.$t(\n\t\t\t\t'dav',\n\t\t\t\t'Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.',\n\t\t\t)\n\t\t\treturn translated\n\t\t\t\t.replace('{calendarappstoreopen}', '<a target=\"_blank\" href=\"../apps/office/calendar\">')\n\t\t\t\t.replace('{calendardocopen}', `<a target=\"_blank\" href=\"${userSyncCalendarsDocUrl}\" rel=\"noreferrer noopener\">`)\n\t\t\t\t.replace(/\\{linkclose\\}/g, '</a>')\n\t\t},\n\t\tsendInvitationsHelpText() {\n\t\t\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\n\t\t\treturn translated\n\t\t\t\t.replace('{emailopen}', '<a href=\"../admin#mail_general_settings\">')\n\t\t\t\t.replace('{linkclose}', '</a>')\n\t\t},\n\t\tsendEventRemindersHelpText() {\n\t\t\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\n\t\t\treturn translated\n\t\t\t\t.replace('{emailopen}', '<a href=\"../admin#mail_general_settings\">')\n\t\t\t\t.replace('{linkclose}', '</a>')\n\t\t},\n\t},\n\twatch: {\n\t\tgenerateBirthdayCalendar(value) {\n\t\t\tconst baseUrl = value ? '/apps/dav/enableBirthdayCalendar' : '/apps/dav/disableBirthdayCalendar'\n\t\t\taxios.post(generateUrl(baseUrl))\n\t\t},\n\t\tsendInvitations(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendInvitations',\n\t\t\t\tvalue ? 'yes' : 'no'\n\t\t\t)\n\t\t},\n\t\tsendEventReminders(value) {\n\t\t\tOCP.AppConfig.setValue('dav', 'sendEventReminders', value ? 'yes' : 'no')\n\t\t},\n\t\tsendEventRemindersToSharedGroupMembers(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedGroupMembers',\n\t\t\t\tvalue ? 'yes' : 'no'\n\t\t\t)\n\t\t},\n\t\tsendEventRemindersPush(value) {\n\t\t\tOCP.AppConfig.setValue('dav', 'sendEventRemindersPush', value ? 'yes' : 'no')\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\t.indented {\n\t\tpadding-left: 28px;\n\t}\n\t/** Use deep selector to affect v-html */\n\t* >>> a {\n\t\ttext-decoration: underline;\n\t}\n\t.settings-hint {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\topacity: .7;\n\t}\n</style>\n"],sourceRoot:""}]),e.Z=i}},n={};function a(t){var s=n[t];if(void 0!==s)return s.exports;var r=n[t]={id:t,loaded:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=e,a.amdD=function(){throw new Error("define cannot be used indirect")},a.amdO={},t=[],a.O=function(e,n,s,r){if(!n){var i=1/0;for(c=0;c<t.length;c++){n=t[c][0],s=t[c][1],r=t[c][2];for(var d=!0,o=0;o<n.length;o++)(!1&r||i>=r)&&Object.keys(a.O).every((function(t){return a.O[t](n[o])}))?n.splice(o--,1):(d=!1,r<i&&(i=r));if(d){t.splice(c--,1);var l=s();void 0!==l&&(e=l)}}return e}r=r||0;for(var c=t.length;c>0&&t[c-1][2]>r;c--)t[c]=t[c-1];t[c]=[n,s,r]},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},a.j=2231,function(){a.b=document.baseURI||self.location.href;var t={2231:0};a.O.j=function(e){return 0===t[e]};var e=function(e,n){var s,r,i=n[0],d=n[1],o=n[2],l=0;if(i.some((function(e){return 0!==t[e]}))){for(s in d)a.o(d,s)&&(a.m[s]=d[s]);if(o)var c=o(a)}for(e&&e(n);l<i.length;l++)r=i[l],a.o(t,r)&&t[r]&&t[r][0](),t[r]=0;return a.O(c)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}();var s=a.O(void 0,[7874],(function(){return a(14473)}));s=a.O(s)}();
+//# sourceMappingURL=dav-settings-admin-caldav.js.map?v=8c15de20c274b713c6e0
\ No newline at end of file
index c563738cbe32e94de4555ae04e47362ca5431da3..ce9182e10f7d26a9d82bd0527bfcd9e1c95f2b86 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"dav-settings-admin-caldav.js?v=61c319bf6e1cae626f58","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/dav/src/views/CalDavSettings.vue?36c1","webpack://nextcloud/./apps/dav/src/views/CalDavSettings.vue?bad0","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=template&id=19a89582&scoped=true&","webpack:///nextcloud/apps/dav/src/settings.js","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=style&index=0&id=19a89582&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","<template>\n\t<div class=\"section\">\n\t\t<h2>{{ $t('dav', 'Calendar server') }}</h2>\n\t\t<!-- Can use v-html as:\n\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t- replacement strings are not user-controlled. -->\n\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t<p class=\"settings-hint\" v-html=\"hint\" />\n\t\t<p>\n\t\t\t<input id=\"caldavSendInvitations\"\n\t\t\t\tv-model=\"sendInvitations\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclass=\"checkbox\">\n\t\t\t<label for=\"caldavSendInvitations\">\n\t\t\t\t{{ $t('dav', 'Send invitations to attendees') }}\n\t\t\t</label>\n\t\t\t<br>\n\t\t\t<!-- Can use v-html as:\n\t\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t\t- replacement strings are not user-controlled. -->\n\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t<em v-html=\"sendInvitationsHelpText\" />\n\t\t</p>\n\t\t<p>\n\t\t\t<input id=\"caldavGenerateBirthdayCalendar\"\n\t\t\t\tv-model=\"generateBirthdayCalendar\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclass=\"checkbox\">\n\t\t\t<label for=\"caldavGenerateBirthdayCalendar\">\n\t\t\t\t{{ $t('dav', 'Automatically generate a birthday calendar') }}\n\t\t\t</label>\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Birthday calendars will be generated by a background job.') }}\n\t\t\t</em>\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Hence they will not be available immediately after enabling but will show up after some time.') }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p>\n\t\t\t<input id=\"caldavSendEventReminders\"\n\t\t\t\tv-model=\"sendEventReminders\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclass=\"checkbox\">\n\t\t\t<label for=\"caldavSendEventReminders\">\n\t\t\t\t{{ $t('dav', 'Send notifications for events') }}\n\t\t\t</label>\n\t\t\t<br>\n\t\t\t<!-- Can use v-html as:\n\t\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t\t- replacement strings are not user-controlled. -->\n\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t<em v-html=\"sendEventRemindersHelpText\" />\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Notifications are sent via background jobs, so these must occur often enough.') }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p class=\"indented\">\n\t\t\t<input id=\"caldavSendEventRemindersToSharedGroupMembers\"\n\t\t\t\tv-model=\"sendEventRemindersToSharedGroupMembers\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclass=\"checkbox\"\n\t\t\t\t:disabled=\"!sendEventReminders\">\n\t\t\t<label for=\"caldavSendEventRemindersToSharedGroupMembers\">\n\t\t\t\t{{ $t('dav', 'Send reminder notifications to calendar sharees as well' ) }}\n\t\t\t</label>\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Reminders are always sent to organizers and attendees.' ) }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p class=\"indented\">\n\t\t\t<input id=\"caldavSendEventRemindersPush\"\n\t\t\t\tv-model=\"sendEventRemindersPush\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclass=\"checkbox\"\n\t\t\t\t:disabled=\"!sendEventReminders\">\n\t\t\t<label for=\"caldavSendEventRemindersPush\">\n\t\t\t\t{{ $t('dav', 'Enable notifications for events via push') }}\n\t\t\t</label>\n\t\t</p>\n\t</div>\n</template>\n\n<style lang=\"scss\" scoped>\n\t.indented {\n\t\tpadding-left: 28px;\n\t}\n</style>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')\n\nexport default {\n\tname: 'CalDavSettings',\n\tcomputed: {\n\t\thint() {\n\t\t\tconst translated = this.$t(\n\t\t\t\t'dav',\n\t\t\t\t'Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.',\n\t\t\t)\n\t\t\treturn translated\n\t\t\t\t.replace('{calendarappstoreopen}', '<a target=\"_blank\" href=\"../apps/office/calendar\">')\n\t\t\t\t.replace('{calendardocopen}', `<a target=\"_blank\" href=\"${userSyncCalendarsDocUrl}\" rel=\"noreferrer noopener\">`)\n\t\t\t\t.replace(/\\{linkclose\\}/g, '</a>')\n\t\t},\n\t\tsendInvitationsHelpText() {\n\t\t\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\n\t\t\treturn translated\n\t\t\t\t.replace('{emailopen}', '<a href=\"../admin#mail_general_settings\">')\n\t\t\t\t.replace('{linkclose}', '</a>')\n\t\t},\n\t\tsendEventRemindersHelpText() {\n\t\t\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\n\t\t\treturn translated\n\t\t\t\t.replace('{emailopen}', '<a href=\"../admin#mail_general_settings\">')\n\t\t\t\t.replace('{linkclose}', '</a>')\n\t\t},\n\t},\n\twatch: {\n\t\tgenerateBirthdayCalendar(value) {\n\t\t\tconst baseUrl = value ? '/apps/dav/enableBirthdayCalendar' : '/apps/dav/disableBirthdayCalendar'\n\t\t\taxios.post(generateUrl(baseUrl))\n\t\t},\n\t\tsendInvitations(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendInvitations',\n\t\t\t\tvalue ? 'yes' : 'no'\n\t\t\t)\n\t\t},\n\t\tsendEventReminders(value) {\n\t\t\tOCP.AppConfig.setValue('dav', 'sendEventReminders', value ? 'yes' : 'no')\n\t\t},\n\t\tsendEventRemindersToSharedGroupMembers(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedGroupMembers',\n\t\t\t\tvalue ? 'yes' : 'no'\n\t\t\t)\n\t\t},\n\t\tsendEventRemindersPush(value) {\n\t\t\tOCP.AppConfig.setValue('dav', 'sendEventRemindersPush', value ? 'yes' : 'no')\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=style&index=0&id=19a89582&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=style&index=0&id=19a89582&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CalDavSettings.vue?vue&type=template&id=19a89582&scoped=true&\"\nimport script from \"./CalDavSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./CalDavSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CalDavSettings.vue?vue&type=style&index=0&id=19a89582&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"19a89582\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('dav', 'Calendar server')))]),_vm._v(\" \"),_c('p',{staticClass:\"settings-hint\",domProps:{\"innerHTML\":_vm._s(_vm.hint)}}),_vm._v(\" \"),_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sendInvitations),expression:\"sendInvitations\"}],staticClass:\"checkbox\",attrs:{\"id\":\"caldavSendInvitations\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.sendInvitations)?_vm._i(_vm.sendInvitations,null)>-1:(_vm.sendInvitations)},on:{\"change\":function($event){var $$a=_vm.sendInvitations,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.sendInvitations=$$a.concat([$$v]))}else{$$i>-1&&(_vm.sendInvitations=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.sendInvitations=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"caldavSendInvitations\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Send invitations to attendees'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',{domProps:{\"innerHTML\":_vm._s(_vm.sendInvitationsHelpText)}})]),_vm._v(\" \"),_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.generateBirthdayCalendar),expression:\"generateBirthdayCalendar\"}],staticClass:\"checkbox\",attrs:{\"id\":\"caldavGenerateBirthdayCalendar\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.generateBirthdayCalendar)?_vm._i(_vm.generateBirthdayCalendar,null)>-1:(_vm.generateBirthdayCalendar)},on:{\"change\":function($event){var $$a=_vm.generateBirthdayCalendar,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.generateBirthdayCalendar=$$a.concat([$$v]))}else{$$i>-1&&(_vm.generateBirthdayCalendar=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.generateBirthdayCalendar=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"caldavGenerateBirthdayCalendar\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Automatically generate a birthday calendar'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Birthday calendars will be generated by a background job.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Hence they will not be available immediately after enabling but will show up after some time.'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sendEventReminders),expression:\"sendEventReminders\"}],staticClass:\"checkbox\",attrs:{\"id\":\"caldavSendEventReminders\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.sendEventReminders)?_vm._i(_vm.sendEventReminders,null)>-1:(_vm.sendEventReminders)},on:{\"change\":function($event){var $$a=_vm.sendEventReminders,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.sendEventReminders=$$a.concat([$$v]))}else{$$i>-1&&(_vm.sendEventReminders=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.sendEventReminders=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"caldavSendEventReminders\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Send notifications for events'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',{domProps:{\"innerHTML\":_vm._s(_vm.sendEventRemindersHelpText)}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Notifications are sent via background jobs, so these must occur often enough.'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('p',{staticClass:\"indented\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sendEventRemindersToSharedGroupMembers),expression:\"sendEventRemindersToSharedGroupMembers\"}],staticClass:\"checkbox\",attrs:{\"id\":\"caldavSendEventRemindersToSharedGroupMembers\",\"type\":\"checkbox\",\"disabled\":!_vm.sendEventReminders},domProps:{\"checked\":Array.isArray(_vm.sendEventRemindersToSharedGroupMembers)?_vm._i(_vm.sendEventRemindersToSharedGroupMembers,null)>-1:(_vm.sendEventRemindersToSharedGroupMembers)},on:{\"change\":function($event){var $$a=_vm.sendEventRemindersToSharedGroupMembers,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.sendEventRemindersToSharedGroupMembers=$$a.concat([$$v]))}else{$$i>-1&&(_vm.sendEventRemindersToSharedGroupMembers=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.sendEventRemindersToSharedGroupMembers=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"caldavSendEventRemindersToSharedGroupMembers\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Send reminder notifications to calendar sharees as well' ))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Reminders are always sent to organizers and attendees.' ))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('p',{staticClass:\"indented\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sendEventRemindersPush),expression:\"sendEventRemindersPush\"}],staticClass:\"checkbox\",attrs:{\"id\":\"caldavSendEventRemindersPush\",\"type\":\"checkbox\",\"disabled\":!_vm.sendEventReminders},domProps:{\"checked\":Array.isArray(_vm.sendEventRemindersPush)?_vm._i(_vm.sendEventRemindersPush,null)>-1:(_vm.sendEventRemindersPush)},on:{\"change\":function($event){var $$a=_vm.sendEventRemindersPush,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.sendEventRemindersPush=$$a.concat([$$v]))}else{$$i>-1&&(_vm.sendEventRemindersPush=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.sendEventRemindersPush=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"caldavSendEventRemindersPush\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Enable notifications for events via push'))+\"\\n\\t\\t\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate } from '@nextcloud/l10n'\nimport CalDavSettings from './views/CalDavSettings'\n\nVue.prototype.$t = translate\n\nconst View = Vue.extend(CalDavSettings)\nconst CalDavSettingsView = new View({\n\tname: 'CalDavSettingsView',\n\tdata() {\n\t\treturn {\n\t\t\tsendInvitations: loadState('dav', 'sendInvitations'),\n\t\t\tgenerateBirthdayCalendar: loadState(\n\t\t\t\t'dav',\n\t\t\t\t'generateBirthdayCalendar'\n\t\t\t),\n\t\t\tsendEventReminders: loadState('dav', 'sendEventReminders'),\n\t\t\tsendEventRemindersToSharedGroupMembers: loadState(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedGroupMembers'\n\t\t\t),\n\t\t\tsendEventRemindersPush: loadState('dav', 'sendEventRemindersPush'),\n\t\t}\n\t},\n})\n\nCalDavSettingsView.$mount('#settings-admin-caldav')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".indented[data-v-19a89582]{padding-left:28px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/dav/src/views/CalDavSettings.vue\"],\"names\":[],\"mappings\":\"AAuFA,2BACC,iBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.indented {\\n\\tpadding-left: 28px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2231;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2231: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(46976); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_h","$createElement","_c","_self","staticClass","_v","_s","$t","domProps","hint","directives","name","rawName","value","expression","attrs","Array","isArray","sendInvitations","_i","on","$event","$$a","$$el","target","$$c","checked","$$i","concat","slice","sendInvitationsHelpText","generateBirthdayCalendar","sendEventReminders","sendEventRemindersHelpText","sendEventRemindersToSharedGroupMembers","sendEventRemindersPush","Vue","translate","CalDavSettings","data","loadState","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"dav-settings-admin-caldav.js?v=8c15de20c274b713c6e0","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/dav/src/views/CalDavSettings.vue?d001","webpack://nextcloud/./apps/dav/src/views/CalDavSettings.vue?bad0","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=template&id=12bcaa82&scoped=true&","webpack:///nextcloud/apps/dav/src/settings.js","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=style&index=0&id=12bcaa82&scoped=true&lang=css&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","<template>\n\t<SettingsSection :title=\"$t('dav', 'Calendar server')\"\n\t\t:doc-url=\"userSyncCalendarsDocUrl\">\n\t\t<!-- Can use v-html as:\n\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t- replacement strings are not user-controlled. -->\n\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t<p class=\"settings-hint\" v-html=\"hint\" />\n\t\t<p>\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendInvitations\"\n\t\t\t\t:checked.sync=\"sendInvitations\"\n\t\t\t\ttype=\"switch\">\n\t\t\t\t{{ $t('dav', 'Send invitations to attendees') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t<!-- Can use v-html as:\n\t\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t\t- replacement strings are not user-controlled. -->\n\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t<em v-html=\"sendInvitationsHelpText\" />\n\t\t</p>\n\t\t<p>\n\t\t\t<CheckboxRadioSwitch id=\"caldavGenerateBirthdayCalendar\"\n\t\t\t\t:checked.sync=\"generateBirthdayCalendar\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\tclass=\"checkbox\">\n\t\t\t\t{{ $t('dav', 'Automatically generate a birthday calendar') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Birthday calendars will be generated by a background job.') }}\n\t\t\t</em>\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Hence they will not be available immediately after enabling but will show up after some time.') }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p>\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendEventReminders\"\n\t\t\t\t:checked.sync=\"sendEventReminders\"\n\t\t\t\ttype=\"switch\">\n\t\t\t\t{{ $t('dav', 'Send notifications for events') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t<!-- Can use v-html as:\n\t\t\t\t- $t passes the translated string through DOMPurify.sanitize,\n\t\t\t\t- replacement strings are not user-controlled. -->\n\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t<em v-html=\"sendEventRemindersHelpText\" />\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Notifications are sent via background jobs, so these must occur often enough.') }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p class=\"indented\">\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendEventRemindersToSharedGroupMembers\"\n\t\t\t\t:checked.sync=\"sendEventRemindersToSharedGroupMembers\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\t:disabled=\"!sendEventReminders\">\n\t\t\t\t{{ $t('dav', 'Send reminder notifications to calendar sharees as well' ) }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t\t<em>\n\t\t\t\t{{ $t('dav', 'Reminders are always sent to organizers and attendees.' ) }}\n\t\t\t</em>\n\t\t</p>\n\t\t<p class=\"indented\">\n\t\t\t<CheckboxRadioSwitch id=\"caldavSendEventRemindersPush\"\n\t\t\t\t:checked.sync=\"sendEventRemindersPush\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\t:disabled=\"!sendEventReminders\">\n\t\t\t\t{{ $t('dav', 'Enable notifications for events via push') }}\n\t\t\t</CheckboxRadioSwitch>\n\t\t</p>\n\t</SettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'\nimport CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'\n\nconst userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')\n\nexport default {\n\tname: 'CalDavSettings',\n\tcomponents: {\n\t\tCheckboxRadioSwitch,\n\t\tSettingsSection,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tuserSyncCalendarsDocUrl,\n\t\t}\n\t},\n\tcomputed: {\n\t\thint() {\n\t\t\tconst translated = this.$t(\n\t\t\t\t'dav',\n\t\t\t\t'Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.',\n\t\t\t)\n\t\t\treturn translated\n\t\t\t\t.replace('{calendarappstoreopen}', '<a target=\"_blank\" href=\"../apps/office/calendar\">')\n\t\t\t\t.replace('{calendardocopen}', `<a target=\"_blank\" href=\"${userSyncCalendarsDocUrl}\" rel=\"noreferrer noopener\">`)\n\t\t\t\t.replace(/\\{linkclose\\}/g, '</a>')\n\t\t},\n\t\tsendInvitationsHelpText() {\n\t\t\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\n\t\t\treturn translated\n\t\t\t\t.replace('{emailopen}', '<a href=\"../admin#mail_general_settings\">')\n\t\t\t\t.replace('{linkclose}', '</a>')\n\t\t},\n\t\tsendEventRemindersHelpText() {\n\t\t\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\n\t\t\treturn translated\n\t\t\t\t.replace('{emailopen}', '<a href=\"../admin#mail_general_settings\">')\n\t\t\t\t.replace('{linkclose}', '</a>')\n\t\t},\n\t},\n\twatch: {\n\t\tgenerateBirthdayCalendar(value) {\n\t\t\tconst baseUrl = value ? '/apps/dav/enableBirthdayCalendar' : '/apps/dav/disableBirthdayCalendar'\n\t\t\taxios.post(generateUrl(baseUrl))\n\t\t},\n\t\tsendInvitations(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendInvitations',\n\t\t\t\tvalue ? 'yes' : 'no'\n\t\t\t)\n\t\t},\n\t\tsendEventReminders(value) {\n\t\t\tOCP.AppConfig.setValue('dav', 'sendEventReminders', value ? 'yes' : 'no')\n\t\t},\n\t\tsendEventRemindersToSharedGroupMembers(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedGroupMembers',\n\t\t\t\tvalue ? 'yes' : 'no'\n\t\t\t)\n\t\t},\n\t\tsendEventRemindersPush(value) {\n\t\t\tOCP.AppConfig.setValue('dav', 'sendEventRemindersPush', value ? 'yes' : 'no')\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\t.indented {\n\t\tpadding-left: 28px;\n\t}\n\t/** Use deep selector to affect v-html */\n\t* >>> a {\n\t\ttext-decoration: underline;\n\t}\n\t.settings-hint {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\topacity: .7;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=style&index=0&id=12bcaa82&scoped=true&lang=css&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalDavSettings.vue?vue&type=style&index=0&id=12bcaa82&scoped=true&lang=css&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CalDavSettings.vue?vue&type=template&id=12bcaa82&scoped=true&\"\nimport script from \"./CalDavSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./CalDavSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CalDavSettings.vue?vue&type=style&index=0&id=12bcaa82&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"12bcaa82\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SettingsSection',{attrs:{\"title\":_vm.$t('dav', 'Calendar server'),\"doc-url\":_vm.userSyncCalendarsDocUrl}},[_c('p',{staticClass:\"settings-hint\",domProps:{\"innerHTML\":_vm._s(_vm.hint)}}),_vm._v(\" \"),_c('p',[_c('CheckboxRadioSwitch',{attrs:{\"id\":\"caldavSendInvitations\",\"checked\":_vm.sendInvitations,\"type\":\"switch\"},on:{\"update:checked\":function($event){_vm.sendInvitations=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Send invitations to attendees'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('em',{domProps:{\"innerHTML\":_vm._s(_vm.sendInvitationsHelpText)}})],1),_vm._v(\" \"),_c('p',[_c('CheckboxRadioSwitch',{staticClass:\"checkbox\",attrs:{\"id\":\"caldavGenerateBirthdayCalendar\",\"checked\":_vm.generateBirthdayCalendar,\"type\":\"switch\"},on:{\"update:checked\":function($event){_vm.generateBirthdayCalendar=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Automatically generate a birthday calendar'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Birthday calendars will be generated by a background job.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Hence they will not be available immediately after enabling but will show up after some time.'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('p',[_c('CheckboxRadioSwitch',{attrs:{\"id\":\"caldavSendEventReminders\",\"checked\":_vm.sendEventReminders,\"type\":\"switch\"},on:{\"update:checked\":function($event){_vm.sendEventReminders=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Send notifications for events'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('em',{domProps:{\"innerHTML\":_vm._s(_vm.sendEventRemindersHelpText)}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Notifications are sent via background jobs, so these must occur often enough.'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"indented\"},[_c('CheckboxRadioSwitch',{attrs:{\"id\":\"caldavSendEventRemindersToSharedGroupMembers\",\"checked\":_vm.sendEventRemindersToSharedGroupMembers,\"type\":\"switch\",\"disabled\":!_vm.sendEventReminders},on:{\"update:checked\":function($event){_vm.sendEventRemindersToSharedGroupMembers=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Send reminder notifications to calendar sharees as well' ))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('em',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Reminders are always sent to organizers and attendees.' ))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"indented\"},[_c('CheckboxRadioSwitch',{attrs:{\"id\":\"caldavSendEventRemindersPush\",\"checked\":_vm.sendEventRemindersPush,\"type\":\"switch\",\"disabled\":!_vm.sendEventReminders},on:{\"update:checked\":function($event){_vm.sendEventRemindersPush=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('dav', 'Enable notifications for events via push'))+\"\\n\\t\\t\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate } from '@nextcloud/l10n'\nimport CalDavSettings from './views/CalDavSettings'\n\nVue.prototype.$t = translate\n\nconst View = Vue.extend(CalDavSettings)\nconst CalDavSettingsView = new View({\n\tname: 'CalDavSettingsView',\n\tdata() {\n\t\treturn {\n\t\t\tsendInvitations: loadState('dav', 'sendInvitations'),\n\t\t\tgenerateBirthdayCalendar: loadState(\n\t\t\t\t'dav',\n\t\t\t\t'generateBirthdayCalendar'\n\t\t\t),\n\t\t\tsendEventReminders: loadState('dav', 'sendEventReminders'),\n\t\t\tsendEventRemindersToSharedGroupMembers: loadState(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedGroupMembers'\n\t\t\t),\n\t\t\tsendEventRemindersPush: loadState('dav', 'sendEventRemindersPush'),\n\t\t}\n\t},\n})\n\nCalDavSettingsView.$mount('#settings-admin-caldav')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.indented[data-v-12bcaa82] {\\n\\tpadding-left: 28px;\\n}\\n/** Use deep selector to affect v-html */\\n*[data-v-12bcaa82] a {\\n\\ttext-decoration: underline;\\n}\\n.settings-hint[data-v-12bcaa82] {\\n\\tmargin-top: -.2em;\\n\\tmargin-bottom: 1em;\\n\\topacity: .7;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/dav/src/views/CalDavSettings.vue\"],\"names\":[],\"mappings\":\";AAmJA;CACA,kBAAA;AACA;AACA,wCAAA;AACA;CACA,0BAAA;AACA;AACA;CACA,iBAAA;CACA,kBAAA;CACA,WAAA;AACA\",\"sourcesContent\":[\"<template>\\n\\t<SettingsSection :title=\\\"$t('dav', 'Calendar server')\\\"\\n\\t\\t:doc-url=\\\"userSyncCalendarsDocUrl\\\">\\n\\t\\t<!-- Can use v-html as:\\n\\t\\t\\t- $t passes the translated string through DOMPurify.sanitize,\\n\\t\\t\\t- replacement strings are not user-controlled. -->\\n\\t\\t<!-- eslint-disable-next-line vue/no-v-html -->\\n\\t\\t<p class=\\\"settings-hint\\\" v-html=\\\"hint\\\" />\\n\\t\\t<p>\\n\\t\\t\\t<CheckboxRadioSwitch id=\\\"caldavSendInvitations\\\"\\n\\t\\t\\t\\t:checked.sync=\\\"sendInvitations\\\"\\n\\t\\t\\t\\ttype=\\\"switch\\\">\\n\\t\\t\\t\\t{{ $t('dav', 'Send invitations to attendees') }}\\n\\t\\t\\t</CheckboxRadioSwitch>\\n\\t\\t\\t<!-- Can use v-html as:\\n\\t\\t\\t\\t- $t passes the translated string through DOMPurify.sanitize,\\n\\t\\t\\t\\t- replacement strings are not user-controlled. -->\\n\\t\\t\\t<!-- eslint-disable-next-line vue/no-v-html -->\\n\\t\\t\\t<em v-html=\\\"sendInvitationsHelpText\\\" />\\n\\t\\t</p>\\n\\t\\t<p>\\n\\t\\t\\t<CheckboxRadioSwitch id=\\\"caldavGenerateBirthdayCalendar\\\"\\n\\t\\t\\t\\t:checked.sync=\\\"generateBirthdayCalendar\\\"\\n\\t\\t\\t\\ttype=\\\"switch\\\"\\n\\t\\t\\t\\tclass=\\\"checkbox\\\">\\n\\t\\t\\t\\t{{ $t('dav', 'Automatically generate a birthday calendar') }}\\n\\t\\t\\t</CheckboxRadioSwitch>\\n\\t\\t\\t<em>\\n\\t\\t\\t\\t{{ $t('dav', 'Birthday calendars will be generated by a background job.') }}\\n\\t\\t\\t</em>\\n\\t\\t\\t<br>\\n\\t\\t\\t<em>\\n\\t\\t\\t\\t{{ $t('dav', 'Hence they will not be available immediately after enabling but will show up after some time.') }}\\n\\t\\t\\t</em>\\n\\t\\t</p>\\n\\t\\t<p>\\n\\t\\t\\t<CheckboxRadioSwitch id=\\\"caldavSendEventReminders\\\"\\n\\t\\t\\t\\t:checked.sync=\\\"sendEventReminders\\\"\\n\\t\\t\\t\\ttype=\\\"switch\\\">\\n\\t\\t\\t\\t{{ $t('dav', 'Send notifications for events') }}\\n\\t\\t\\t</CheckboxRadioSwitch>\\n\\t\\t\\t<!-- Can use v-html as:\\n\\t\\t\\t\\t- $t passes the translated string through DOMPurify.sanitize,\\n\\t\\t\\t\\t- replacement strings are not user-controlled. -->\\n\\t\\t\\t<!-- eslint-disable-next-line vue/no-v-html -->\\n\\t\\t\\t<em v-html=\\\"sendEventRemindersHelpText\\\" />\\n\\t\\t\\t<br>\\n\\t\\t\\t<em>\\n\\t\\t\\t\\t{{ $t('dav', 'Notifications are sent via background jobs, so these must occur often enough.') }}\\n\\t\\t\\t</em>\\n\\t\\t</p>\\n\\t\\t<p class=\\\"indented\\\">\\n\\t\\t\\t<CheckboxRadioSwitch id=\\\"caldavSendEventRemindersToSharedGroupMembers\\\"\\n\\t\\t\\t\\t:checked.sync=\\\"sendEventRemindersToSharedGroupMembers\\\"\\n\\t\\t\\t\\ttype=\\\"switch\\\"\\n\\t\\t\\t\\t:disabled=\\\"!sendEventReminders\\\">\\n\\t\\t\\t\\t{{ $t('dav', 'Send reminder notifications to calendar sharees as well' ) }}\\n\\t\\t\\t</CheckboxRadioSwitch>\\n\\t\\t\\t<em>\\n\\t\\t\\t\\t{{ $t('dav', 'Reminders are always sent to organizers and attendees.' ) }}\\n\\t\\t\\t</em>\\n\\t\\t</p>\\n\\t\\t<p class=\\\"indented\\\">\\n\\t\\t\\t<CheckboxRadioSwitch id=\\\"caldavSendEventRemindersPush\\\"\\n\\t\\t\\t\\t:checked.sync=\\\"sendEventRemindersPush\\\"\\n\\t\\t\\t\\ttype=\\\"switch\\\"\\n\\t\\t\\t\\t:disabled=\\\"!sendEventReminders\\\">\\n\\t\\t\\t\\t{{ $t('dav', 'Enable notifications for events via push') }}\\n\\t\\t\\t</CheckboxRadioSwitch>\\n\\t\\t</p>\\n\\t</SettingsSection>\\n</template>\\n\\n<script>\\nimport axios from '@nextcloud/axios'\\nimport { generateUrl } from '@nextcloud/router'\\nimport { loadState } from '@nextcloud/initial-state'\\nimport SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'\\nimport CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'\\n\\nconst userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')\\n\\nexport default {\\n\\tname: 'CalDavSettings',\\n\\tcomponents: {\\n\\t\\tCheckboxRadioSwitch,\\n\\t\\tSettingsSection,\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tuserSyncCalendarsDocUrl,\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\thint() {\\n\\t\\t\\tconst translated = this.$t(\\n\\t\\t\\t\\t'dav',\\n\\t\\t\\t\\t'Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.',\\n\\t\\t\\t)\\n\\t\\t\\treturn translated\\n\\t\\t\\t\\t.replace('{calendarappstoreopen}', '<a target=\\\"_blank\\\" href=\\\"../apps/office/calendar\\\">')\\n\\t\\t\\t\\t.replace('{calendardocopen}', `<a target=\\\"_blank\\\" href=\\\"${userSyncCalendarsDocUrl}\\\" rel=\\\"noreferrer noopener\\\">`)\\n\\t\\t\\t\\t.replace(/\\\\{linkclose\\\\}/g, '</a>')\\n\\t\\t},\\n\\t\\tsendInvitationsHelpText() {\\n\\t\\t\\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\\n\\t\\t\\treturn translated\\n\\t\\t\\t\\t.replace('{emailopen}', '<a href=\\\"../admin#mail_general_settings\\\">')\\n\\t\\t\\t\\t.replace('{linkclose}', '</a>')\\n\\t\\t},\\n\\t\\tsendEventRemindersHelpText() {\\n\\t\\t\\tconst translated = this.$t('dav', 'Please make sure to properly set up {emailopen}the email server{linkclose}.')\\n\\t\\t\\treturn translated\\n\\t\\t\\t\\t.replace('{emailopen}', '<a href=\\\"../admin#mail_general_settings\\\">')\\n\\t\\t\\t\\t.replace('{linkclose}', '</a>')\\n\\t\\t},\\n\\t},\\n\\twatch: {\\n\\t\\tgenerateBirthdayCalendar(value) {\\n\\t\\t\\tconst baseUrl = value ? '/apps/dav/enableBirthdayCalendar' : '/apps/dav/disableBirthdayCalendar'\\n\\t\\t\\taxios.post(generateUrl(baseUrl))\\n\\t\\t},\\n\\t\\tsendInvitations(value) {\\n\\t\\t\\tOCP.AppConfig.setValue(\\n\\t\\t\\t\\t'dav',\\n\\t\\t\\t\\t'sendInvitations',\\n\\t\\t\\t\\tvalue ? 'yes' : 'no'\\n\\t\\t\\t)\\n\\t\\t},\\n\\t\\tsendEventReminders(value) {\\n\\t\\t\\tOCP.AppConfig.setValue('dav', 'sendEventReminders', value ? 'yes' : 'no')\\n\\t\\t},\\n\\t\\tsendEventRemindersToSharedGroupMembers(value) {\\n\\t\\t\\tOCP.AppConfig.setValue(\\n\\t\\t\\t\\t'dav',\\n\\t\\t\\t\\t'sendEventRemindersToSharedGroupMembers',\\n\\t\\t\\t\\tvalue ? 'yes' : 'no'\\n\\t\\t\\t)\\n\\t\\t},\\n\\t\\tsendEventRemindersPush(value) {\\n\\t\\t\\tOCP.AppConfig.setValue('dav', 'sendEventRemindersPush', value ? 'yes' : 'no')\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\t.indented {\\n\\t\\tpadding-left: 28px;\\n\\t}\\n\\t/** Use deep selector to affect v-html */\\n\\t* >>> a {\\n\\t\\ttext-decoration: underline;\\n\\t}\\n\\t.settings-hint {\\n\\t\\tmargin-top: -.2em;\\n\\t\\tmargin-bottom: 1em;\\n\\t\\topacity: .7;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2231;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2231: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(14473); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_h","$createElement","_c","_self","attrs","$t","userSyncCalendarsDocUrl","staticClass","domProps","_s","hint","_v","sendInvitations","on","$event","sendInvitationsHelpText","generateBirthdayCalendar","sendEventReminders","sendEventRemindersHelpText","sendEventRemindersToSharedGroupMembers","sendEventRemindersPush","Vue","translate","CalDavSettings","name","data","loadState","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","value","nmd","paths","children","b","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file