1 |
- {"version":3,"file":"dav-settings-admin-caldav.js?v=6e6a6e9d1610e64f4dc2","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?84a7","webpack://nextcloud/./apps/dav/src/views/CalDavSettings.vue?bad0","webpack://nextcloud/./apps/dav/src/views/CalDavSettings.vue?a261","webpack:///nextcloud/apps/dav/src/settings.js","webpack:///nextcloud/apps/dav/src/views/CalDavSettings.vue?vue&type=style&index=0&id=27ba2d2a&prod&scoped=true&lang=css","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","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/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (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((key) => (__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};","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcSettingsSection :name=\"$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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\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<NcCheckboxRadioSwitch id=\"caldavSendEventRemindersToSharedGroupMembers\"\n\t\t\t\t:checked.sync=\"sendEventRemindersToSharedUsers\"\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</NcCheckboxRadioSwitch>\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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\n\t\t</p>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\n\nconst userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')\n\nexport default {\n\tname: 'CalDavSettings',\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t\tNcSettingsSection,\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\tsendEventRemindersToSharedUsers(value) {\n\t\t\tOCP.AppConfig.setValue(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedUsers',\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-inline-start: 28px;\n\t}\n\t/** Use deep selector to affect v-html */\n\t* :deep(a) {\n\t\ttext-decoration: underline;\n\t}\n\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=27ba2d2a&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=27ba2d2a&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CalDavSettings.vue?vue&type=template&id=27ba2d2a&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=27ba2d2a&prod&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 \"27ba2d2a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSettingsSection',{attrs:{\"name\":_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('NcCheckboxRadioSwitch',{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('NcCheckboxRadioSwitch',{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('NcCheckboxRadioSwitch',{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('NcCheckboxRadioSwitch',{attrs:{\"id\":\"caldavSendEventRemindersToSharedGroupMembers\",\"checked\":_vm.sendEventRemindersToSharedUsers,\"type\":\"switch\",\"disabled\":!_vm.sendEventReminders},on:{\"update:checked\":function($event){_vm.sendEventRemindersToSharedUsers=$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('NcCheckboxRadioSwitch',{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)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate } from '@nextcloud/l10n'\nimport CalDavSettings from './views/CalDavSettings.vue'\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\tsendEventRemindersToSharedUsers: loadState(\n\t\t\t\t'dav',\n\t\t\t\t'sendEventRemindersToSharedUsers',\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-27ba2d2a] {\n\tpadding-inline-start: 28px;\n}\n/** Use deep selector to affect v-html */\n*[data-v-27ba2d2a] a {\n\ttext-decoration: underline;\n}\n.settings-hint[data-v-27ba2d2a] {\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\":\";AAsKA;CACA,0BAAA;AACA;AACA,wCAAA;AACA;CACA,0BAAA;AACA;AAEA;CACA,iBAAA;CACA,kBAAA;CACA,WAAA;AACA\",\"sourcesContent\":[\"<!--\\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n - SPDX-License-Identifier: AGPL-3.0-or-later\\n-->\\n<template>\\n\\t<NcSettingsSection :name=\\\"$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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\\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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\\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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\\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<NcCheckboxRadioSwitch id=\\\"caldavSendEventRemindersToSharedGroupMembers\\\"\\n\\t\\t\\t\\t:checked.sync=\\\"sendEventRemindersToSharedUsers\\\"\\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</NcCheckboxRadioSwitch>\\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<NcCheckboxRadioSwitch 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</NcCheckboxRadioSwitch>\\n\\t\\t</p>\\n\\t</NcSettingsSection>\\n</template>\\n\\n<script>\\nimport axios from '@nextcloud/axios'\\nimport { generateUrl } from '@nextcloud/router'\\nimport { loadState } from '@nextcloud/initial-state'\\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\\n\\nconst userSyncCalendarsDocUrl = loadState('dav', 'userSyncCalendarsDocUrl', '#')\\n\\nexport default {\\n\\tname: 'CalDavSettings',\\n\\tcomponents: {\\n\\t\\tNcCheckboxRadioSwitch,\\n\\t\\tNcSettingsSection,\\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\\tsendEventRemindersToSharedUsers(value) {\\n\\t\\t\\tOCP.AppConfig.setValue(\\n\\t\\t\\t\\t'dav',\\n\\t\\t\\t\\t'sendEventRemindersToSharedUsers',\\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-inline-start: 28px;\\n\\t}\\n\\t/** Use deep selector to affect v-html */\\n\\t* :deep(a) {\\n\\t\\ttext-decoration: underline;\\n\\t}\\n\\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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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};","
|