diff options
Diffstat (limited to 'apps/settings/js')
-rw-r--r-- | apps/settings/js/esm-test.mjs | 8 | ||||
-rw-r--r-- | apps/settings/js/federationscopemenu.js | 12 | ||||
-rw-r--r-- | apps/settings/js/federationsettingsview.js | 19 | ||||
-rw-r--r-- | apps/settings/js/map-test.js.map | 7 | ||||
-rw-r--r-- | apps/settings/js/security_password.js | 10 | ||||
-rw-r--r-- | apps/settings/js/settings.js | 6 | ||||
-rw-r--r-- | apps/settings/js/settings/personalInfo.js | 293 | ||||
-rw-r--r-- | apps/settings/js/usersettings.js | 7 |
8 files changed, 43 insertions, 319 deletions
diff --git a/apps/settings/js/esm-test.mjs b/apps/settings/js/esm-test.mjs new file mode 100644 index 00000000000..b76812cc8a4 --- /dev/null +++ b/apps/settings/js/esm-test.mjs @@ -0,0 +1,8 @@ +/** + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + * + * This is a dummy file for testing webserver support of JavaScript modules. + */ + +export default 'Hello' diff --git a/apps/settings/js/federationscopemenu.js b/apps/settings/js/federationscopemenu.js index 72fd8bc7284..20974caa762 100644 --- a/apps/settings/js/federationscopemenu.js +++ b/apps/settings/js/federationscopemenu.js @@ -1,11 +1,7 @@ -/* - * Copyright (c) 2016 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * +/** + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ /* global OC, Handlebars */ diff --git a/apps/settings/js/federationsettingsview.js b/apps/settings/js/federationsettingsview.js index 9eb0b930733..a4587e1bedb 100644 --- a/apps/settings/js/federationsettingsview.js +++ b/apps/settings/js/federationsettingsview.js @@ -1,10 +1,9 @@ /* global OC, result, _ */ /** - * Copyright (c) 2016, Christoph Wurst <christoph@owncloud.com> - * - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ (function(_, $, OC) { @@ -82,7 +81,7 @@ ]; _.each(this._inputFields, function(field) { - var $icon = self.$('#' + field + 'form h3 > .federation-menu'); + var $icon = self.$('#' + field + 'form .headerbar-label > .federation-menu'); var excludedScopes = [] if (fieldsWithV2Private.indexOf(field) === -1) { @@ -106,6 +105,7 @@ self._onScopeChanged(field, scope); }); $icon.append(scopeMenu.$el); + $icon.attr('aria-expanded', 'false'); $icon.on('click', _.bind(scopeMenu.show, scopeMenu)); $icon.on('keydown', function(e) { if (e.keyCode === 32) { @@ -128,7 +128,12 @@ _.each(this._inputFields, function(field) { if ( field === 'avatar' || - field === 'email' + field === 'email' || + field === 'displayname' || + field === 'twitter' || + field === 'address' || + field === 'website' || + field === 'phone' ) { return; } @@ -239,7 +244,7 @@ }, _setFieldScopeIcon: function(field, scope) { - var $icon = this.$('#' + field + 'form > h3 .icon-federation-menu'); + var $icon = this.$('#' + field + 'form > .headerbar-label .icon-federation-menu'); $icon.removeClass('icon-phone'); $icon.removeClass('icon-password'); diff --git a/apps/settings/js/map-test.js.map b/apps/settings/js/map-test.js.map new file mode 100644 index 00000000000..422afffa56e --- /dev/null +++ b/apps/settings/js/map-test.js.map @@ -0,0 +1,7 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + * + * This is a dummy file for testing webserver support of JavaScript map files. + */ +{} diff --git a/apps/settings/js/security_password.js b/apps/settings/js/security_password.js index 3525281a027..d0b2d9f2c07 100644 --- a/apps/settings/js/security_password.js +++ b/apps/settings/js/security_password.js @@ -1,13 +1,9 @@ /* global OC */ /** - * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> - * 2013, Morris Jobke <morris.jobke@gmail.com> - * 2016, Christoph Wurst <christoph@owncloud.com> - * 2017, Arthur Schiwon <blizzz@arthur-schiwon.de> - * 2017, Thomas Citharel <tcit@tcit.fr> - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2011-2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ window.addEventListener('DOMContentLoaded', function () { diff --git a/apps/settings/js/settings.js b/apps/settings/js/settings.js index 6f29b3fc58c..482c7020b60 100644 --- a/apps/settings/js/settings.js +++ b/apps/settings/js/settings.js @@ -1,7 +1,7 @@ /** - * Copyright (c) 2014, Vincent Petry <pvince81@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ OC.Settings = OC.Settings || {}; OC.Settings = _.extend(OC.Settings, { diff --git a/apps/settings/js/settings/personalInfo.js b/apps/settings/js/settings/personalInfo.js index 98a2dfe8d48..0498134c125 100644 --- a/apps/settings/js/settings/personalInfo.js +++ b/apps/settings/js/settings/personalInfo.js @@ -1,13 +1,9 @@ /* global OC */ /** - * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> - * 2013, Morris Jobke <morris.jobke@gmail.com> - * 2016, Christoph Wurst <christoph@owncloud.com> - * 2017, Arthur Schiwon <blizzz@arthur-schiwon.de> - * 2017, Thomas Citharel <tcit@tcit.fr> - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2011-2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ OC.Settings = OC.Settings || {}; @@ -41,107 +37,6 @@ jQuery.fn.keyUpDelayedOrEnter = function (callback, allowEmptyValue) { }); }; -function updateAvatar (hidedefault) { - var $headerdiv = $('#header .avatardiv'), - $displaydiv = $('#displayavatar .avatardiv'), - user = OC.getCurrentUser(); - - //Bump avatar avatarversion - oc_userconfig.avatar.version = -(Math.floor(Math.random() * 1000)); - - if (hidedefault) { - $headerdiv.hide(); - $('#header .avatardiv').removeClass('avatardiv-shown'); - } else { - $headerdiv.css({'background-color': ''}); - $headerdiv.avatar(user.uid, 32, true, false, undefined, user.displayName); - $('#header .avatardiv').addClass('avatardiv-shown'); - } - $displaydiv.css({'background-color': ''}); - $displaydiv.avatar(user.uid, 145, true, null, function() { - $displaydiv.removeClass('loading'); - $('#displayavatar img').show(); - if($('#displayavatar img').length === 0 || oc_userconfig.avatar.generated) { - $('#removeavatar').removeClass('inlineblock').addClass('hidden'); - } else { - $('#removeavatar').removeClass('hidden').addClass('inlineblock'); - } - }, user.displayName); - $('#uploadavatar').prop('disabled', false); -} - -function showAvatarCropper () { - var $cropper = $('#cropper'); - var $cropperImage = $('<img/>'); - $cropperImage.css('opacity', 0); // prevent showing the unresized image - $cropper.children('.inner-container').prepend($cropperImage); - - $cropperImage.attr('src', - OC.generateUrl('/avatar/tmp') + '?requesttoken=' + encodeURIComponent(OC.requestToken) + '#' + Math.floor(Math.random() * 1000)); - - $cropperImage.load(function () { - var img = $cropperImage.get()[0]; - var selectSize = Math.min(img.width, img.height); - var offsetX = (img.width - selectSize) / 2; - var offsetY = (img.height - selectSize) / 2; - $cropperImage.Jcrop({ - onChange: saveCoords, - onSelect: saveCoords, - aspectRatio: 1, - boxHeight: Math.min(500, $('#app-content').height() -100), - boxWidth: Math.min(500, $('#app-content').width()), - setSelect: [offsetX, offsetY, selectSize, selectSize] - }, function() { - $cropper.show(); - }); - }); -} - -function sendCropData () { - cleanCropper(); - - var cropperData = $('#cropper').data(); - var data = { - x: cropperData.x, - y: cropperData.y, - w: cropperData.w, - h: cropperData.h - }; - $.post(OC.generateUrl('/avatar/cropped'), {crop: data}, avatarResponseHandler); -} - -function saveCoords (c) { - $('#cropper').data(c); -} - -function cleanCropper () { - var $cropper = $('#cropper'); - $('#displayavatar').show(); - $cropper.hide(); - $('.jcrop-holder').remove(); - $('#cropper img').removeData('Jcrop').removeAttr('style').removeAttr('src'); - $('#cropper img').remove(); -} - -function avatarResponseHandler (data) { - if (typeof data === 'string') { - data = JSON.parse(data); - } - var $warning = $('#avatarform .warning'); - $warning.hide(); - if (data.status === "success") { - $('#displayavatar .avatardiv').removeClass('icon-loading'); - oc_userconfig.avatar.generated = false; - updateAvatar(); - } else if (data.data === "notsquare") { - cleanCropper(); - showAvatarCropper(); - } else { - $warning.show(); - $warning.text(data.data.message); - } -} - window.addEventListener('DOMContentLoaded', function () { if($('#pass2').length) { $('#pass2').showPassword().keyup(); @@ -208,187 +103,5 @@ window.addEventListener('DOMContentLoaded', function () { showPublishedScope: !!settingsEl.data('lookup-server-upload-enabled'), }); - userSettings.on("sync", function() { - updateAvatar(false); - }); federationSettingsView.render(); - - var updateLanguage = function () { - if (OC.PasswordConfirmation.requiresPasswordConfirmation()) { - OC.PasswordConfirmation.requirePasswordConfirmation(updateLanguage); - return; - } - - var selectedLang = $("#languageinput").val(), - user = OC.getCurrentUser(); - - $.ajax({ - url: OC.linkToOCS('cloud/users', 2) + user['uid'], - method: 'PUT', - data: { - key: 'language', - value: selectedLang - }, - success: function() { - location.reload(); - }, - fail: function() { - OC.Notification.showTemporary(t('settings', 'An error occurred while changing your language. Please reload the page and try again.')); - } - }); - }; - $("#languageinput").change(updateLanguage); - - var updateLocale = function () { - if (OC.PasswordConfirmation.requiresPasswordConfirmation()) { - OC.PasswordConfirmation.requirePasswordConfirmation(updateLocale); - return; - } - - var selectedLocale = $("#localeinput").val(), - user = OC.getCurrentUser(); - - $.ajax({ - url: OC.linkToOCS('cloud/users', 2) + user.uid, - method: 'PUT', - data: { - key: 'locale', - value: selectedLocale - }, - success: function() { - moment.locale(selectedLocale); - }, - fail: function() { - OC.Notification.showTemporary(t('settings', 'An error occurred while changing your locale. Please reload the page and try again.')); - } - }); - }; - $("#localeinput").change(updateLocale); - - var uploadparms = { - pasteZone: null, - done: function (e, data) { - var response = data; - if (typeof data.result === 'string') { - response = JSON.parse(data.result); - } else if (data.result && data.result.length) { - // fetch response from iframe - response = JSON.parse(data.result[0].body.innerText); - } else { - response = data.result; - } - avatarResponseHandler(response); - }, - submit: function(e, data) { - $('#displayavatar img').hide(); - $('#displayavatar .avatardiv').addClass('icon-loading'); - $('#uploadavatar').prop('disabled', true) - data.formData = _.extend(data.formData || {}, { - requesttoken: OC.requestToken - }); - }, - fail: function (e, data) { - $('#displayavatar .avatardiv').removeClass('icon-loading'); - $('#uploadavatar').prop('disabled', false) - var msg = data.jqXHR.statusText + ' (' + data.jqXHR.status + ')'; - if (!_.isUndefined(data.jqXHR.responseJSON) && - !_.isUndefined(data.jqXHR.responseJSON.data) && - !_.isUndefined(data.jqXHR.responseJSON.data.message) - ) { - msg = data.jqXHR.responseJSON.data.message; - } - avatarResponseHandler({ - data: { - message: msg - } - }); - } - }; - - $('#uploadavatar').fileupload(uploadparms); - - // Trigger upload action also with keyboard navigation on enter - $('#uploadavatarbutton').on('keyup', function(event) { - if (event.key === ' ' || event.key === 'Enter') { - $('#uploadavatar').trigger('click'); - } - }); - - $('#selectavatar').click(function (event) { - event.stopPropagation(); - event.preventDefault(); - - OC.dialogs.filepicker( - t('settings', "Select a profile picture"), - function (path) { - $('#displayavatar img').hide(); - $('#displayavatar .avatardiv').addClass('icon-loading'); - $('#uploadavatar').prop('disabled', true); - $.ajax({ - type: "POST", - url: OC.generateUrl('/avatar/'), - data: { path: path } - }).done(avatarResponseHandler) - .fail(function(jqXHR) { - var msg = jqXHR.statusText + ' (' + jqXHR.status + ')'; - if (!_.isUndefined(jqXHR.responseJSON) && - !_.isUndefined(jqXHR.responseJSON.data) && - !_.isUndefined(jqXHR.responseJSON.data.message) - ) { - msg = jqXHR.responseJSON.data.message; - } - avatarResponseHandler({ - data: { - message: msg - } - }); - }); - }, - false, - ["image/png", "image/jpeg"] - ); - }); - - $('#removeavatar').click(function (event) { - event.stopPropagation(); - event.preventDefault(); - - $.ajax({ - type: 'DELETE', - url: OC.generateUrl('/avatar/'), - success: function () { - oc_userconfig.avatar.generated = true; - updateAvatar(true); - } - }); - }); - - $('#abortcropperbutton').click(function () { - $('#displayavatar .avatardiv').removeClass('icon-loading'); - $('#displayavatar img').show(); - $('#uploadavatar').prop('disabled', false); - cleanCropper(); - }); - - $('#sendcropperbutton').click(function () { - sendCropData(); - }); - - // Load the big avatar - var user = OC.getCurrentUser(); - $('#avatarform .avatardiv').avatar(user.uid, 145, true, null, function() { - if($('#displayavatar img').length === 0 || oc_userconfig.avatar.generated) { - $('#removeavatar').removeClass('inlineblock').addClass('hidden'); - } else { - $('#removeavatar').removeClass('hidden').addClass('inlineblock'); - } - }, user.displayName); }); - -window.setInterval(function() { - $('#localeexample-time').text(moment().format('LTS')) - $('#localeexample-date').text(moment().format('L')) - $('#localeexample-fdow').text(t('settings', 'Week starts on {fdow}', { fdow: dayNames[firstDay] })) -}, 1000) - -OC.Settings.updateAvatar = updateAvatar; diff --git a/apps/settings/js/usersettings.js b/apps/settings/js/usersettings.js index 21a122094f5..3dc402fbf2b 100644 --- a/apps/settings/js/usersettings.js +++ b/apps/settings/js/usersettings.js @@ -1,10 +1,9 @@ /* global OC */ /** - * Copyright (c) 2016, Christoph Wurst <christoph@owncloud.com> - * - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ (function() { |