1 line
6.8 KiB
Plaintext
1 line
6.8 KiB
Plaintext
{"version":3,"file":"notifications-admin-settings.mjs","sources":["../src/views/AdminSettings.vue","../src/adminSettings.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcSettingsSection\n\t\t:name=\"t('notifications', 'Notifications defaults')\"\n\t\t:description=\"t('notifications', 'Configure the default notification settings')\">\n\t\t<div class=\"notification-frequency__wrapper\">\n\t\t\t<label for=\"notification_reminder_batchtime\" class=\"notification-frequency__label\">\n\t\t\t\t{{ t('notifications', 'Send email reminders about unhandled notifications after:') }}\n\t\t\t</label>\n\t\t\t<NcSelect\n\t\t\t\tid=\"notification_reminder_batchtime\"\n\t\t\t\tv-model=\"currentBatchTime\"\n\t\t\t\tclass=\"notification-frequency__select\"\n\t\t\t\t:clearable=\"false\"\n\t\t\t\tlabel-outside\n\t\t\t\t:options=\"BATCHTIME_OPTIONS\"\n\t\t\t\t@update:model-value=\"updateSettings\" />\n\t\t</div>\n\n\t\t<NcCheckboxRadioSwitch\n\t\t\tv-model=\"config.sound_notification\"\n\t\t\t@update:model-value=\"updateSettings\">\n\t\t\t{{ t('notifications', 'Play sound when a new notification arrives') }}\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch\n\t\t\tv-model=\"config.sound_talk\"\n\t\t\t@update:model-value=\"updateSettings\">\n\t\t\t{{ t('notifications', 'Play sound when a call started (requires Nextcloud Talk)') }}\n\t\t</NcCheckboxRadioSwitch>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { computed, reactive } from 'vue'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcSettingsSection from '@nextcloud/vue/components/NcSettingsSection'\n\nconst EmailFrequency = {\n\tEMAIL_SEND_OFF: 0,\n\tEMAIL_SEND_HOURLY: 1,\n\tEMAIL_SEND_3HOURLY: 2,\n\tEMAIL_SEND_DAILY: 3,\n\tEMAIL_SEND_WEEKLY: 4,\n}\n\nconst BATCHTIME_OPTIONS = [\n\t{ label: t('notifications', 'Never'), value: EmailFrequency.EMAIL_SEND_OFF },\n\t{ label: t('notifications', '1 hour'), value: EmailFrequency.EMAIL_SEND_HOURLY },\n\t{ label: t('notifications', '3 hours'), value: EmailFrequency.EMAIL_SEND_3HOURLY },\n\t{ label: t('notifications', '1 day'), value: EmailFrequency.EMAIL_SEND_DAILY },\n\t{ label: t('notifications', '1 week'), value: EmailFrequency.EMAIL_SEND_WEEKLY },\n]\n\nexport default {\n\tname: 'AdminSettings',\n\tcomponents: {\n\t\tNcSelect,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcSettingsSection,\n\t},\n\n\tsetup() {\n\t\tconst config = reactive(loadState('notifications', 'config', {}))\n\n\t\tconst currentBatchTime = computed({\n\t\t\tget() {\n\t\t\t\treturn BATCHTIME_OPTIONS.find(({ value }) => value === config.setting_batchtime)\n\t\t\t},\n\t\t\tset({ value }) {\n\t\t\t\tconfig.setting_batchtime = value\n\t\t\t},\n\t\t})\n\n\t\treturn {\n\t\t\tBATCHTIME_OPTIONS,\n\t\t\tconfig,\n\t\t\tcurrentBatchTime,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tasync updateSettings() {\n\t\t\ttry {\n\t\t\t\tconst form = new FormData()\n\t\t\t\tform.append('batchSetting', this.config.setting_batchtime)\n\t\t\t\tform.append('soundNotification', this.config.sound_notification ? 'yes' : 'no')\n\t\t\t\tform.append('soundTalk', this.config.sound_talk ? 'yes' : 'no')\n\t\t\t\tawait axios.post(generateOcsUrl('apps/notifications/api/v2/settings/admin'), form)\n\t\t\t\tshowSuccess(t('notifications', 'Your settings have been updated.'))\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('notifications', 'An error occurred while updating your settings.'))\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n.notification-frequency__wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--default-grid-baseline);\n\n\t.notification-frequency__select {\n\t\tmargin-inline-start: calc(2 * var(--default-grid-baseline));\n\t\twidth: fit-content;\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createApp } from 'vue'\nimport AdminSettings from './views/AdminSettings.vue'\n\n// Styles\nimport '@nextcloud/dialogs/style.css'\n\nexport default createApp(AdminSettings).mount('#notifications-admin-settings')\n"],"names":["EmailFrequency","BATCHTIME_OPTIONS","t","_sfc_main","NcSelect","NcCheckboxRadioSwitch","NcSettingsSection","config","reactive","loadState","currentBatchTime","computed","value","form","axios","generateOcsUrl","showSuccess","error","showError","_hoisted_1","_createBlock","_component_NcSettingsSection","$options","_createElementVNode","_hoisted_2","_toDisplayString","_createVNode","_component_NcSelect","$setup","$event","_component_NcCheckboxRadioSwitch","_cache","createApp","AdminSettings"],"mappings":"6RA+CA,MAAMA,EAAiB,CACtB,eAAgB,EAChB,kBAAmB,EACnB,mBAAoB,EACpB,iBAAkB,EAClB,kBAAmB,CACpB,EAEMC,EAAoB,CACzB,CAAE,MAAOC,EAAE,gBAAiB,OAAO,EAAG,MAAOF,EAAe,cAAgB,EAC5E,CAAE,MAAOE,EAAE,gBAAiB,QAAQ,EAAG,MAAOF,EAAe,iBAAmB,EAChF,CAAE,MAAOE,EAAE,gBAAiB,SAAS,EAAG,MAAOF,EAAe,kBAAoB,EAClF,CAAE,MAAOE,EAAE,gBAAiB,OAAO,EAAG,MAAOF,EAAe,gBAAkB,EAC9E,CAAE,MAAOE,EAAE,gBAAiB,QAAQ,EAAG,MAAOF,EAAe,iBAAmB,CACjF,EAEKG,EAAU,CACd,KAAM,gBACN,WAAY,CACX,SAAAC,EACA,sBAAAC,EACA,kBAAAC,CACA,EAED,OAAQ,CACP,MAAMC,EAASC,EAASC,EAAU,gBAAiB,SAAU,CAAA,CAAE,CAAC,EAE1DC,EAAmBC,EAAS,CACjC,KAAM,CACL,OAAOV,EAAkB,KAAK,CAAC,CAAE,MAAAW,CAAI,IAAQA,IAAUL,EAAO,iBAAiB,CAC/E,EACD,IAAI,CAAE,MAAAK,GAAS,CACdL,EAAO,kBAAoBK,CAC3B,CACD,CAAA,EAED,MAAO,CACN,kBAAAX,EACA,OAAAM,EACA,iBAAAG,CACD,CACA,EAED,QAAS,GACRR,EAEA,MAAM,gBAAiB,CACtB,GAAI,CACH,MAAMW,EAAO,IAAI,SACjBA,EAAK,OAAO,eAAgB,KAAK,OAAO,iBAAiB,EACzDA,EAAK,OAAO,oBAAqB,KAAK,OAAO,mBAAqB,MAAQ,IAAI,EAC9EA,EAAK,OAAO,YAAa,KAAK,OAAO,WAAa,MAAQ,IAAI,EAC9D,MAAMC,EAAM,KAAKC,EAAe,0CAA0C,EAAGF,CAAI,EACjFG,EAAYd,EAAE,gBAAiB,kCAAkC,CAAC,CACjE,OAAOe,EAAO,CACfC,EAAUhB,EAAE,gBAAiB,iDAAiD,CAAC,EAC/E,QAAQ,MAAMe,CAAK,CACpB,CACA,CACD,CACF,EAlGOE,EAAA,CAAA,MAAM,iCAAiC,KACpC,IAAI,kCAAkC,MAAM,gJAJrDC,EA2BoBC,EAAA,CA1BlB,KAAMC,EAAC,EAAA,gBAAA,wBAAA,EACP,YAAaA,EAAC,EAAA,gBAAA,6CAAA,cACf,IAYM,CAZNC,EAYM,MAZNJ,EAYM,CAXLI,EAEQ,QAFRC,EAEQC,EADJH,EAAC,EAAA,gBAAA,2DAAA,CAAA,EAAA,CAAA,EAELI,EAOwCC,EAAA,CANvC,GAAG,6CACMC,EAAgB,uDAAhBA,EAAgB,iBAAAC,GAKJP,EAAc,gBAJnC,MAAM,iCACL,UAAW,GACZ,gBAAA,GACC,QAASM,EAAiB,4EAI7BF,EAIwBI,EAAA,CAHd,WAAAF,EAAA,OAAO,0CAAPG,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAF,GAAAD,EAAA,OAAO,mBAAkBC,GACbP,EAAc,4BACnC,IAAsE,KAAnEA,EAAC,EAAA,gBAAA,4CAAA,CAAA,EAAA,CAAA,iDAELI,EAIwBI,EAAA,CAHd,WAAAF,EAAA,OAAO,kCAAPG,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAF,GAAAD,EAAA,OAAO,WAAUC,GACLP,EAAc,4BACnC,IAAoF,KAAjFA,EAAC,EAAA,gBAAA,0DAAA,CAAA,EAAA,CAAA,8ICpBQU,EAAUC,CAAa,EAAE,MAAM,+BAA+B"} |