Files
nextcloud-server-mirror/dist/updatenotification-settings-admin.mjs.map
2026-10-31 07:55:53 +00:00

1 line
46 KiB
Plaintext

{"version":3,"file":"updatenotification-settings-admin.mjs","sources":["../node_modules/vue-material-design-icons/ChevronDown.vue","../node_modules/vue-material-design-icons/CloudCheckVariant.vue","../node_modules/vue-material-design-icons/InformationOutline.vue","../node_modules/vue-material-design-icons/NewBox.vue","../node_modules/vue-material-design-icons/SourceBranch.vue","../node_modules/vue-material-design-icons/Star.vue","../node_modules/vue-material-design-icons/WeatherNight.vue","../node_modules/vue-material-design-icons/Wrench.vue","../build/frontend/apps/updatenotification/src/views/AdminSettingsSection.vue","../build/frontend/apps/updatenotification/src/settings-admin.ts"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-down-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronDownIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon cloud-check-variant-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10.35 17L16 11.35L14.55 9.9L10.33 14.13L8.23 12.03L6.8 13.45M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CloudCheckVariantIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon information-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"InformationOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon new-box-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M20,4C21.11,4 22,4.89 22,6V18C22,19.11 21.11,20 20,20H4C2.89,20 2,19.11 2,18V6C2,4.89 2.89,4 4,4H20M8.5,15V9H7.25V12.5L4.75,9H3.5V15H4.75V11.5L7.3,15H8.5M13.5,10.26V9H9.5V15H13.5V13.75H11V12.64H13.5V11.38H11V10.26H13.5M20.5,14V9H19.25V13.5H18.13V10H16.88V13.5H15.75V9H14.5V14A1,1 0 0,0 15.5,15H19.5A1,1 0 0,0 20.5,14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"NewBoxIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon source-branch-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M13,14C9.64,14 8.54,15.35 8.18,16.24C9.25,16.7 10,17.76 10,19A3,3 0 0,1 7,22A3,3 0 0,1 4,19C4,17.69 4.83,16.58 6,16.17V7.83C4.83,7.42 4,6.31 4,5A3,3 0 0,1 7,2A3,3 0 0,1 10,5C10,6.31 9.17,7.42 8,7.83V13.12C8.88,12.47 10.16,12 12,12C14.67,12 15.56,10.66 15.85,9.77C14.77,9.32 14,8.25 14,7A3,3 0 0,1 17,4A3,3 0 0,1 20,7C20,8.34 19.12,9.5 17.91,9.86C17.65,11.29 16.68,14 13,14M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M17,6A1,1 0 0,0 16,7A1,1 0 0,0 17,8A1,1 0 0,0 18,7A1,1 0 0,0 17,6Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"SourceBranchIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon star-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"StarIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon weather-night-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"WeatherNightIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon wrench-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"WrenchIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcSettingsSection :name=\"t('updatenotification', 'Update')\">\n\t\t<div class=\"update\">\n\t\t\t<template v-if=\"isNewVersionAvailable\">\n\t\t\t\t<NcNoteCard v-if=\"versionIsEol\" type=\"warning\">\n\t\t\t\t\t{{ t('updatenotification', 'The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible.') }}\n\t\t\t\t</NcNoteCard>\n\n\t\t\t\t<p>\n\t\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t\t<span v-html=\"newVersionAvailableString\" /><br>\n\t\t\t\t\t<NcLoadingIcon v-if=\"!isListFetched\" class=\"icon\" :size=\"16\" />\n\t\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t\t<span v-html=\"statusText\" />\n\t\t\t\t</p>\n\n\t\t\t\t<template v-if=\"missingAppUpdates.length\">\n\t\t\t\t\t<h3 class=\"clickable\" @click=\"toggleHideMissingUpdates\">\n\t\t\t\t\t\t{{ t('updatenotification', 'Apps missing compatible version') }}\n\t\t\t\t\t\t<IconMenuDown v-if=\"hideMissingUpdates\" class=\"icon icon--toggle\" :size=\"16\" />\n\t\t\t\t\t\t<IconMenuUp v-else class=\"icon icon--toggle\" :size=\"16\" />\n\t\t\t\t\t</h3>\n\t\t\t\t\t<ul v-if=\"!hideMissingUpdates\" class=\"applist\">\n\t\t\t\t\t\t<li v-for=\"(app, index) in missingAppUpdates\" :key=\"index\">\n\t\t\t\t\t\t\t<a :href=\"'https://apps.nextcloud.com/apps/' + app.appId\" :title=\"t('settings', 'View in store')\">{{ app.appName }} ↗</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-if=\"availableAppUpdates.length\">\n\t\t\t\t\t<h3 class=\"clickable\" @click=\"toggleHideAvailableUpdates\">\n\t\t\t\t\t\t{{ t('updatenotification', 'Apps with compatible version') }}\n\t\t\t\t\t\t<IconMenuDown v-if=\"hideAvailableUpdates\" class=\"icon icon--toggle\" :size=\"16\" />\n\t\t\t\t\t\t<IconMenuUp v-else class=\"icon icon--toggle\" :size=\"16\" />\n\t\t\t\t\t</h3>\n\t\t\t\t\t<ul v-if=\"!hideAvailableUpdates\" class=\"applist\">\n\t\t\t\t\t\t<li v-for=\"(app, index) in availableAppUpdates\" :key=\"index\">\n\t\t\t\t\t\t\t<a :href=\"'https://apps.nextcloud.com/apps/' + app.appId\" :title=\"t('settings', 'View in store')\">{{ app.appName }} ↗</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-if=\"!isWebUpdaterRecommended && updaterEnabled && webUpdaterEnabled\">\n\t\t\t\t\t<h3 class=\"warning\">\n\t\t\t\t\t\t{{ t('updatenotification', 'Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!') }}\n\t\t\t\t\t</h3>\n\t\t\t\t</template>\n\n\t\t\t\t<div>\n\t\t\t\t\t<a\n\t\t\t\t\t\tv-if=\"updaterEnabled && webUpdaterEnabled\"\n\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\tclass=\"button primary\"\n\t\t\t\t\t\t@click=\"clickUpdaterButton\">{{ t('updatenotification', 'Open updater') }}</a>\n\t\t\t\t\t<a\n\t\t\t\t\t\tv-if=\"downloadLink\"\n\t\t\t\t\t\t:href=\"downloadLink\"\n\t\t\t\t\t\tclass=\"button\"\n\t\t\t\t\t\t:class=\"{ hidden: !updaterEnabled }\">{{ t('updatenotification', 'Download now') }}</a>\n\t\t\t\t\t<span v-if=\"updaterEnabled && !webUpdaterEnabled\">\n\t\t\t\t\t\t{{ t('updatenotification', 'Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update.') }}\n\t\t\t\t\t</span>\n\t\t\t\t\t<NcActions\n\t\t\t\t\t\tv-if=\"whatsNewData || changelogURL\"\n\t\t\t\t\t\tforceMenu\n\t\t\t\t\t\t:menuName=\"t('updatenotification', 'What\\'s new?')\"\n\t\t\t\t\t\tvariant=\"tertiary\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconNewBox :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #default>\n\t\t\t\t\t\t\t<NcActionCaption v-for=\"changes, index in whatsNewData\" :key=\"index\" :name=\"changes\" />\n\t\t\t\t\t\t\t<NcActionLink\n\t\t\t\t\t\t\t\tv-if=\"changelogURL\"\n\t\t\t\t\t\t\t\t:href=\"changelogURL\"\n\t\t\t\t\t\t\t\tcloseAfterClick\n\t\t\t\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t\t\t\t{{ t('updatenotification', 'View changelog') }}\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<IconLink :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcActionLink>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActions>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-else-if=\"!isUpdateChecked\">\n\t\t\t\t{{ t('updatenotification', 'The update check is not yet finished. Please refresh the page.') }}\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t{{ t('updatenotification', 'Your version is up to date.') }}\n\t\t\t\t<a\n\t\t\t\t\t:title=\"lastCheckedOnString\"\n\t\t\t\t\t:aria-label=\"lastCheckedOnString\"\n\t\t\t\t\thref=\"https://nextcloud.com/changelog/\"\n\t\t\t\t\tclass=\"details\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t<IconInformationOutline class=\"icon\" :size=\"16\" />\n\t\t\t\t</a>\n\t\t\t</template>\n\n\t\t\t<template v-if=\"!isDefaultUpdateServerURL\">\n\t\t\t\t<p class=\"topMargin\">\n\t\t\t\t\t<em>{{ t('updatenotification', 'A non-default update server is in use to be checked for updates:') }} <code>{{ updateServerURL }}</code></em>\n\t\t\t\t</p>\n\t\t\t</template>\n\t\t</div>\n\n\t\t<h3>{{ t('updatenotification', 'Update channel') }}</h3>\n\t\t<p class=\"inlineblock\">\n\t\t\t{{ t('updatenotification', 'Changing the update channel also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page.') }}\n\t\t</p>\n\t\t<div class=\"update-channel-selector\">\n\t\t\t<span>{{ t('updatenotification', 'Current update channel:') }}</span>\n\t\t\t<NcActions\n\t\t\t\tforceMenu\n\t\t\t\t:menuName=\"localizedChannelName\"\n\t\t\t\tvariant=\"tertiary\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconChevronDown :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t<template #default>\n\t\t\t\t\t<NcActionButton\n\t\t\t\t\t\tv-for=\"channel in channelList\"\n\t\t\t\t\t\t:key=\"channel.value\"\n\t\t\t\t\t\t:disabled=\"channel.disabled\"\n\t\t\t\t\t\t:name=\"channel.text\"\n\t\t\t\t\t\t:value=\"channel.value\"\n\t\t\t\t\t\t:modelValue=\"currentChannel\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tcloseAfterClick\n\t\t\t\t\t\t@update:modelValue=\"changeReleaseChannel\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<component :is=\"channel.icon\" :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ channel.longtext }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</template>\n\t\t\t</NcActions>\n\t\t</div>\n\t\t<p>\n\t\t\t<em>{{ t('updatenotification', 'You can always update to a newer version. But you can never downgrade to a more stable version.') }}</em><br>\n\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t<em v-html=\"noteDelayedStableString\" />\n\t\t</p>\n\n\t\t<NcSelect\n\t\t\tid=\"notify-members-settings-select-wrapper\"\n\t\t\tv-model=\"notifyGroups\"\n\t\t\t:inputLabel=\"t('updatenotification', 'Notify members of the following groups about available updates:')\"\n\t\t\t:options=\"groups\"\n\t\t\tmultiple\n\t\t\tlabel=\"displayname\"\n\t\t\t:loading=\"loadingGroups\"\n\t\t\tkeepOpen\n\t\t\t@search=\"searchGroup\">\n\t\t\t<template #no-options>\n\t\t\t\t{{ t('updatenotification', 'No groups') }}\n\t\t\t</template>\n\t\t</NcSelect>\n\t\t<p>\n\t\t\t<em v-if=\"currentChannel === 'daily' || currentChannel === 'git'\">{{ t('updatenotification', 'Only notifications for app updates are available.') }}</em>\n\t\t\t<em v-if=\"currentChannel === 'daily'\">{{ t('updatenotification', 'The selected update channel makes dedicated notifications for the server obsolete.') }}</em>\n\t\t\t<em v-else-if=\"currentChannel === 'git'\">{{ t('updatenotification', 'The selected update channel does not support updates of the server.') }}</em>\n\t\t</p>\n\t</NcSettingsSection>\n</template>\n\n<script lang=\"ts\">\nimport type { Component } from 'vue'\n\nimport axios from '@nextcloud/axios'\nimport { showSuccess } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { n, t } from '@nextcloud/l10n'\nimport { generateOcsUrl, generateUrl, getRootUrl } from '@nextcloud/router'\nimport debounce from 'debounce'\nimport { defineComponent } from 'vue'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionCaption from '@nextcloud/vue/components/NcActionCaption'\nimport NcActionLink from '@nextcloud/vue/components/NcActionLink'\nimport NcActions from '@nextcloud/vue/components/NcActions'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcSettingsSection from '@nextcloud/vue/components/NcSettingsSection'\nimport IconChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport IconCloudCheckVariant from 'vue-material-design-icons/CloudCheckVariant.vue'\nimport IconInformationOutline from 'vue-material-design-icons/InformationOutline.vue'\nimport IconLink from 'vue-material-design-icons/Link.vue'\nimport IconMenuDown from 'vue-material-design-icons/MenuDown.vue'\nimport IconMenuUp from 'vue-material-design-icons/MenuUp.vue'\nimport IconNewBox from 'vue-material-design-icons/NewBox.vue'\nimport IconPencil from 'vue-material-design-icons/PencilOutline.vue'\nimport IconSourceBranch from 'vue-material-design-icons/SourceBranch.vue'\nimport IconStar from 'vue-material-design-icons/Star.vue'\nimport IconWeatherNight from 'vue-material-design-icons/WeatherNight.vue'\nimport IconWrench from 'vue-material-design-icons/Wrench.vue'\nimport { logger } from '../logger.ts'\n\nconst productName = window.OC.theme.productName\n\nexport default defineComponent({\n\tname: 'UpdateNotification',\n\tcomponents: {\n\t\tIconChevronDown,\n\t\tIconInformationOutline,\n\t\tIconLink,\n\t\tIconMenuDown,\n\t\tIconMenuUp,\n\t\tIconNewBox,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionCaption,\n\t\tNcActionLink,\n\t\tNcLoadingIcon,\n\t\tNcNoteCard,\n\t\tNcSelect,\n\t\tNcSettingsSection,\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tt,\n\t\t\tn,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloadingGroups: false,\n\t\t\tnewVersionString: '',\n\t\t\tlastCheckedDate: '',\n\t\t\tisUpdateChecked: false,\n\t\t\twebUpdaterEnabled: true,\n\t\t\tisWebUpdaterRecommended: true,\n\t\t\tupdaterEnabled: true,\n\t\t\tversionIsEol: false,\n\t\t\tdownloadLink: '',\n\t\t\tisNewVersionAvailable: false,\n\t\t\thasValidSubscription: false,\n\t\t\tupdateServerURL: '',\n\t\t\tchangelogURL: '',\n\t\t\twhatsNewData: [],\n\t\t\tcurrentChannel: '',\n\t\t\tchannels: [],\n\t\t\tnotifyGroups: '',\n\t\t\tgroups: [],\n\t\t\tisDefaultUpdateServerURL: true,\n\t\t\tenableChangeWatcher: false,\n\n\t\t\tavailableAppUpdates: [],\n\t\t\tmissingAppUpdates: [],\n\t\t\tappStoreFailed: false,\n\t\t\tappStoreDisabled: false,\n\t\t\tisListFetched: false,\n\t\t\thideMissingUpdates: false,\n\t\t\thideAvailableUpdates: true,\n\t\t\topenedWhatsNew: false,\n\t\t\topenedUpdateChannelMenu: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tnewVersionAvailableString() {\n\t\t\treturn t('updatenotification', 'A new version is available: <strong>{newVersionString}</strong>', {\n\t\t\t\tnewVersionString: this.newVersionString,\n\t\t\t})\n\t\t},\n\n\t\tnoteDelayedStableString() {\n\t\t\treturn t('updatenotification', 'Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}')\n\t\t\t\t.replace('{link}', '<a href=\"https://nextcloud.com/release-channels/\">https://nextcloud.com/release-channels/</a>')\n\t\t},\n\n\t\tlastCheckedOnString() {\n\t\t\treturn t('updatenotification', 'Checked on {lastCheckedDate} - Open changelog', {\n\t\t\t\tlastCheckedDate: this.lastCheckedDate,\n\t\t\t})\n\t\t},\n\n\t\tstatusText() {\n\t\t\tif (!this.isListFetched) {\n\t\t\t\treturn t('updatenotification', 'Checking apps for compatible versions')\n\t\t\t}\n\n\t\t\tif (this.appStoreDisabled) {\n\t\t\t\treturn t('updatenotification', 'Please make sure your config.php does not set <samp>appstoreenabled</samp> to false.')\n\t\t\t}\n\n\t\t\tif (this.appStoreFailed) {\n\t\t\t\treturn t('updatenotification', 'Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store.')\n\t\t\t}\n\n\t\t\treturn this.missingAppUpdates.length === 0\n\t\t\t\t? t('updatenotification', '<strong>All</strong> apps have a compatible version for this {productName} version available.', { productName })\n\t\t\t\t: n(\n\t\t\t\t\t\t'updatenotification',\n\t\t\t\t\t\t'<strong>%n</strong> app has no compatible version for this {productName} version available.',\n\t\t\t\t\t\t'<strong>%n</strong> apps have no compatible version for this {productName} version available.',\n\t\t\t\t\t\tthis.missingAppUpdates.length,\n\t\t\t\t\t\t{ productName },\n\t\t\t\t\t)\n\t\t},\n\n\t\tchannelList() {\n\t\t\tconst channelList: { text: string, longtext?: string, icon: Component, active?: boolean, disabled?: boolean, value: string }[] = []\n\n\t\t\tchannelList.push({\n\t\t\t\ttext: t('updatenotification', 'Enterprise'),\n\t\t\t\tlongtext: t('updatenotification', 'For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately.')\n\t\t\t\t\t+ ' '\n\t\t\t\t\t+ t('updatenotification', 'That update happens once {vendor} has done additional hardening and testing for large-scale and mission-critical deployments.', { vendor: 'Nextcloud GmbH' })\n\t\t\t\t\t+ ' '\n\t\t\t\t\t+ t('updatenotification', 'This channel is only available to customers and provides the {enterprise} package.', { enterprise: 'Nextcloud Enterprise' }),\n\t\t\t\ticon: IconStar,\n\t\t\t\tactive: this.currentChannel === 'enterprise',\n\t\t\t\tdisabled: !this.hasValidSubscription,\n\t\t\t\tvalue: 'enterprise',\n\t\t\t})\n\n\t\t\tchannelList.push({\n\t\t\t\ttext: t('updatenotification', 'Stable'),\n\t\t\t\tlongtext: t('updatenotification', 'The most recent stable version. It is suited for regular use and will always update to the latest major version.'),\n\t\t\t\ticon: IconCloudCheckVariant,\n\t\t\t\tvalue: 'stable',\n\t\t\t})\n\n\t\t\tchannelList.push({\n\t\t\t\ttext: t('updatenotification', 'Beta'),\n\t\t\t\tlongtext: t('updatenotification', 'A pre-release version only for testing new features, not for production environments.'),\n\t\t\t\ticon: IconWrench,\n\t\t\t\tvalue: 'beta',\n\t\t\t})\n\n\t\t\tif (this.isNonDefaultChannel(this.currentChannel)) {\n\t\t\t\tconst nonDefaultIcons = {\n\t\t\t\t\tdaily: IconWeatherNight,\n\t\t\t\t\tgit: IconSourceBranch,\n\t\t\t\t}\n\t\t\t\tchannelList.push({\n\t\t\t\t\ttext: this.currentChannel,\n\t\t\t\t\ticon: nonDefaultIcons[this.currentChannel] || IconPencil,\n\t\t\t\t\tvalue: this.currentChannel,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn channelList\n\t\t},\n\n\t\tlocalizedChannelName() {\n\t\t\tswitch (this.currentChannel) {\n\t\t\t\tcase 'enterprise':\n\t\t\t\t\treturn t('updatenotification', 'Enterprise')\n\t\t\t\tcase 'stable':\n\t\t\t\t\treturn t('updatenotification', 'Stable')\n\t\t\t\tcase 'beta':\n\t\t\t\t\treturn t('updatenotification', 'Beta')\n\t\t\t\tdefault:\n\t\t\t\t\treturn this.currentChannel\n\t\t\t}\n\t\t},\n\t},\n\n\twatch: {\n\t\tnotifyGroups() {\n\t\t\tif (!this.enableChangeWatcher) {\n\t\t\t\t// The first time is when loading the app\n\t\t\t\tthis.enableChangeWatcher = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst groups = this.notifyGroups.map((group) => {\n\t\t\t\treturn group.id\n\t\t\t})\n\n\t\t\tOCP.AppConfig.setValue('updatenotification', 'notify_groups', JSON.stringify(groups))\n\t\t},\n\n\t\tisNewVersionAvailable() {\n\t\t\tif (!this.isNewVersionAvailable) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\taxios.get(generateOcsUrl('apps/updatenotification/api/v1/applist/{newVersion}', {\n\t\t\t\tnewVersion: this.newVersion,\n\t\t\t})).then(({ data }) => {\n\t\t\t\tthis.availableAppUpdates = data.ocs.data.available\n\t\t\t\tthis.missingAppUpdates = data.ocs.data.missing\n\t\t\t\tthis.isListFetched = true\n\t\t\t\tthis.appStoreFailed = false\n\t\t\t}).catch(({ response }) => {\n\t\t\t\tthis.availableAppUpdates = []\n\t\t\t\tthis.missingAppUpdates = []\n\t\t\t\tthis.appStoreDisabled = response.data.ocs.data.appstore_disabled\n\t\t\t\tthis.isListFetched = true\n\t\t\t\tthis.appStoreFailed = true\n\t\t\t})\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// Parse server data\n\t\tconst data = loadState('updatenotification', 'data')\n\n\t\tthis.newVersion = data.newVersion\n\t\tthis.newVersionString = data.newVersionString\n\t\tthis.lastCheckedDate = data.lastChecked\n\t\tthis.isUpdateChecked = data.isUpdateChecked\n\t\tthis.webUpdaterEnabled = data.webUpdaterEnabled\n\t\tthis.isWebUpdaterRecommended = data.isWebUpdaterRecommended\n\t\tthis.updaterEnabled = data.updaterEnabled\n\t\tthis.downloadLink = data.downloadLink\n\t\tthis.isNewVersionAvailable = data.isNewVersionAvailable\n\t\tthis.updateServerURL = data.updateServerURL\n\t\tthis.currentChannel = data.currentChannel\n\t\tthis.channels = data.channels\n\t\tthis.notifyGroups = data.notifyGroups\n\t\tthis.isDefaultUpdateServerURL = data.isDefaultUpdateServerURL\n\t\tthis.versionIsEol = data.versionIsEol\n\t\tthis.hasValidSubscription = data.hasValidSubscription\n\t\tif (data.changes && data.changes.changelogURL) {\n\t\t\tthis.changelogURL = data.changes.changelogURL\n\t\t}\n\t\tif (data.changes && data.changes.whatsNew) {\n\t\t\tif (data.changes.whatsNew.admin) {\n\t\t\t\tthis.whatsNewData = this.whatsNewData.concat(data.changes.whatsNew.admin)\n\t\t\t}\n\t\t\tthis.whatsNewData = this.whatsNewData.concat(data.changes.whatsNew.regular)\n\t\t}\n\t},\n\n\tmounted() {\n\t\tthis.searchGroup()\n\t},\n\n\tmethods: {\n\t\tsearchGroup: debounce(async function(query) {\n\t\t\tthis.loadingGroups = true\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(generateOcsUrl('cloud/groups/details'), {\n\t\t\t\t\tsearch: query,\n\t\t\t\t\tlimit: 20,\n\t\t\t\t\toffset: 0,\n\t\t\t\t})\n\t\t\t\tthis.groups = response.data.ocs.data.groups.sort(function(a, b) {\n\t\t\t\t\treturn a.displayname.localeCompare(b.displayname)\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Could not fetch groups', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingGroups = false\n\t\t\t}\n\t\t}, 500),\n\n\t\t/**\n\t\t * Creates a new authentication token and loads the updater URL\n\t\t */\n\t\tclickUpdaterButton() {\n\t\t\taxios.get(generateUrl('/apps/updatenotification/credentials'))\n\t\t\t\t.then(({ data }) => {\n\t\t\t\t// create a form to send a proper post request to the updater\n\t\t\t\t\tconst form = document.createElement('form')\n\t\t\t\t\tform.setAttribute('method', 'post')\n\t\t\t\t\tform.setAttribute('action', getRootUrl() + '/updater/')\n\n\t\t\t\t\tconst hiddenField = document.createElement('input')\n\t\t\t\t\thiddenField.setAttribute('type', 'hidden')\n\t\t\t\t\thiddenField.setAttribute('name', 'updater-secret-input')\n\t\t\t\t\thiddenField.setAttribute('value', data)\n\n\t\t\t\t\tform.appendChild(hiddenField)\n\n\t\t\t\t\tdocument.body.appendChild(form)\n\t\t\t\t\tform.submit()\n\t\t\t\t})\n\t\t},\n\n\t\tisNonDefaultChannel(channel) {\n\t\t\treturn !['enterprise', 'stable', 'beta'].includes(channel)\n\t\t},\n\n\t\tchangeReleaseChannel(channel) {\n\t\t\tif (this.isNonDefaultChannel(channel)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.currentChannel = channel\n\n\t\t\taxios.post(generateUrl('/apps/updatenotification/channel'), {\n\t\t\t\tchannel: this.currentChannel,\n\t\t\t}).then(({ data }) => {\n\t\t\t\tshowSuccess(data.data.message)\n\t\t\t})\n\n\t\t\tthis.openedUpdateChannelMenu = false\n\t\t},\n\n\t\ttoggleHideMissingUpdates() {\n\t\t\tthis.hideMissingUpdates = !this.hideMissingUpdates\n\t\t},\n\n\t\ttoggleHideAvailableUpdates() {\n\t\t\tthis.hideAvailableUpdates = !this.hideAvailableUpdates\n\t\t},\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n\t#updatenotification {\n\t\t& > * {\n\t\t\tmax-width: 900px;\n\t\t}\n\n\t\t.topMargin {\n\t\t\tmargin-top: 15px;\n\t\t}\n\n\t\tdiv.update,\n\t\tp:not(.inlineblock) {\n\t\t\tmargin-bottom: 25px;\n\t\t}\n\t\th2.inlineblock {\n\t\t\tmargin-top: 25px;\n\t\t}\n\t\th3 {\n\t\t\t&.clickable {\n\t\t\t\tcursor: pointer;\n\t\t\t\t.icon {\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.update-channel-selector {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 12px;\n\t\t}\n\t\t.icon {\n\t\t\tdisplay: inline-block;\n\t\t\tmargin-bottom: -3px;\n\t\t}\n\t\t.icon--toggle {\n\t\t\topacity: 0.5;\n\t\t}\n\t\t.applist {\n\t\t\tmargin-bottom: 25px;\n\t\t}\n\t}\n</style>\n\n<style lang=\"scss\">\n#updatenotification {\n\t/* override NcSelect styling so that label can have correct width */\n\t#notify-members-settings-select-wrapper {\n\t\twidth: fit-content;\n\n\t\t.vs__dropdown-toggle {\n\t\t\tmin-width: 100%;\n\t\t}\n\t}\n}\n</style>\n","/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createApp } from 'vue'\nimport AdminSettingsSection from './views/AdminSettingsSection.vue'\n\nimport 'vite/modulepreload-polyfill'\n\nconst app = createApp(AdminSettingsSection)\napp.mount('#updatenotification')\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","productName","defineComponent","IconChevronDown","IconInformationOutline","IconLink","IconMenuDown","IconMenuUp","IconNewBox","NcActions","NcActionButton","NcActionCaption","NcActionLink","NcLoadingIcon","NcNoteCard","NcSelect","NcSettingsSection","t","n","channelList","IconStar","IconCloudCheckVariant","IconWrench","nonDefaultIcons","IconWeatherNight","IconSourceBranch","IconPencil","groups","group","axios","generateOcsUrl","data","response","loadState","debounce","query","a","b","error","logger","generateUrl","form","getRootUrl","hiddenField","channel","showSuccess","_hoisted_1","_hoisted_13","_hoisted_14","_createBlock","_component_NcSettingsSection","_Fragment","_component_NcNoteCard","_createTextVNode","_toDisplayString","_hoisted_2","_createCommentVNode","_component_NcLoadingIcon","args","_component_IconMenuDown","_component_IconMenuUp","_hoisted_4","_renderList","app","index","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_normalizeClass","_hoisted_9","_hoisted_10","_component_NcActions","_withCtx","_createVNode","_component_IconNewBox","changes","_component_NcActionCaption","_component_NcActionLink","_component_IconLink","_component_IconInformationOutline","_hoisted_12","_component_IconChevronDown","_component_NcActionButton","_resolveDynamicComponent","_hoisted_15","_component_NcSelect","_hoisted_17","_hoisted_18","createApp","AdminSettingsSection"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}